• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ruby-grape / grape / 35331562996
99%
master: 99%

Build:
Build:
LAST BUILD BRANCH: ractor-mode
DEFAULT BRANCH: master
Ran 18 Sep 2026 09:50AM UTC
Jobs 32
Files 167
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

18 Sep 2026 09:49AM UTC coverage: 99.061% (+0.001%) from 99.06%
35331562996

Pull #2954

github

ericproulx
Answer a DELETE whose body holds invalid bytes instead of raising

A DELETE that sets no status answers 204 when its body is blank, and
default_status asks with ActiveSupport's String#blank?, which matches a
regexp. Matching a regexp against a String whose bytes are not valid in its
encoding raises ArgumentError, so such a body crashed the request before
the formatter ever saw it.

It takes little to get one. Path params are tagged UTF-8 without being
checked, so `delete(':name') { "deleted #{params[:name]}" }` hands a
request for `/caf%C3%A` a String holding half a character; reading a
binary file with the default external encoding does the same.

A String like that is never blank -- an invalid byte is not whitespace --
so default_status now says so before asking blank?, and the DELETE answers
200 with its body, as it does for any other.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Pull Request #2954: Answer a DELETE whose body holds invalid bytes instead of raising

1429 of 1483 branches covered (96.36%)

Branch coverage included in aggregate %.

4 of 4 new or added lines in 1 file covered. (100.0%)

4266 of 4266 relevant lines covered (100.0%)

28549.11 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-3.4-gemfiles/rack_3_0.gemfile - 35331562996.1 18 Sep 2026 09:50AM UTC 166
97.88
GitHub Action Run
2 run-3.4-gemfiles/rails_7_2.gemfile - 35331562996.2 18 Sep 2026 09:51AM UTC 167
97.88
GitHub Action Run
3 run-3.3-gemfiles/rails_8_1.gemfile - 35331562996.3 18 Sep 2026 09:51AM UTC 167
97.89
GitHub Action Run
4 run-4.0-gemfiles/rack_3_1.gemfile - 35331562996.4 18 Sep 2026 09:51AM UTC 166
97.86
GitHub Action Run
5 run-4.0-gemfiles/rack_3_0.gemfile - 35331562996.5 18 Sep 2026 09:51AM UTC 166
97.86
GitHub Action Run
6 run-4.0-gemfiles/multi_xml_0_8.gemfile - 35331562996.6 18 Sep 2026 09:50AM UTC 165
45.79
GitHub Action Run
7 run-3.4-Gemfile - 35331562996.7 18 Sep 2026 09:50AM UTC 166
97.88
GitHub Action Run
8 run-4.0-gemfiles/multi_xml.gemfile - 35331562996.8 18 Sep 2026 09:51AM UTC 165
45.76
GitHub Action Run
9 run-3.4-gemfiles/rails_8_0.gemfile - 35331562996.9 18 Sep 2026 09:51AM UTC 167
97.88
GitHub Action Run
10 run-3.3-Gemfile - 35331562996.10 18 Sep 2026 09:51AM UTC 166
97.88
GitHub Action Run
11 run-3.3-gemfiles/rails_7_2.gemfile - 35331562996.11 18 Sep 2026 09:50AM UTC 167
97.88
GitHub Action Run
12 run-3.3-gemfiles/rails_8_0.gemfile - 35331562996.12 18 Sep 2026 09:51AM UTC 167
97.89
GitHub Action Run
13 run-4.0-gemfiles/hashie.gemfile - 35331562996.13 18 Sep 2026 09:51AM UTC 165
59.91
GitHub Action Run
14 run-4.0-gemfiles/grape_swagger.gemfile - 35331562996.14 18 Sep 2026 09:51AM UTC 165
53.38
GitHub Action Run
15 run-4.0-gemfiles/rails_7_2.gemfile - 35331562996.15 18 Sep 2026 09:51AM UTC 167
97.88
GitHub Action Run
16 run-3.4-gemfiles/rack_3_2.gemfile - 35331562996.16 18 Sep 2026 09:51AM UTC 166
97.88
GitHub Action Run
17 run-3.3-gemfiles/rack_2_2.gemfile - 35331562996.17 18 Sep 2026 09:50AM UTC 166
97.86
GitHub Action Run
18 run-3.3-gemfiles/rack_3_0.gemfile - 35331562996.18 18 Sep 2026 09:50AM UTC 166
97.88
GitHub Action Run
19 run-4.0-gemfiles/rack_3_2.gemfile - 35331562996.19 18 Sep 2026 09:51AM UTC 166
97.86
GitHub Action Run
20 run-3.3-gemfiles/rack_3_1.gemfile - 35331562996.20 18 Sep 2026 09:50AM UTC 166
97.89
GitHub Action Run
21 run-4.0-gemfiles/dry_validation.gemfile - 35331562996.21 18 Sep 2026 09:51AM UTC 165
56.17
GitHub Action Run
22 run-4.0-gemfiles/multi_json_1_20.gemfile - 35331562996.22 18 Sep 2026 09:51AM UTC 165
46.07
GitHub Action Run
23 run-4.0-gemfiles/rails_8_1.gemfile - 35331562996.23 18 Sep 2026 09:51AM UTC 167
97.88
GitHub Action Run
24 run-4.0-gemfiles/rack_2_2.gemfile - 35331562996.24 18 Sep 2026 09:51AM UTC 166
97.82
GitHub Action Run
25 run-3.4-gemfiles/rack_3_1.gemfile - 35331562996.25 18 Sep 2026 09:51AM UTC 166
97.88
GitHub Action Run
26 run-4.0-gemfiles/grape_entity.gemfile - 35331562996.26 18 Sep 2026 09:51AM UTC 165
48.99
GitHub Action Run
27 run-4.0-gemfiles/multi_json.gemfile - 35331562996.27 18 Sep 2026 09:51AM UTC 165
46.04
GitHub Action Run
28 run-3.4-gemfiles/rack_2_2.gemfile - 35331562996.28 18 Sep 2026 09:50AM UTC 166
97.82
GitHub Action Run
29 run-4.0-gemfiles/rails_8_0.gemfile - 35331562996.29 18 Sep 2026 09:51AM UTC 167
97.86
GitHub Action Run
30 run-3.4-gemfiles/rails_8_1.gemfile - 35331562996.30 18 Sep 2026 09:50AM UTC 167
97.88
GitHub Action Run
31 run-3.3-gemfiles/rack_3_2.gemfile - 35331562996.31 18 Sep 2026 09:50AM UTC 166
97.89
GitHub Action Run
32 run-4.0-Gemfile - 35331562996.32 18 Sep 2026 09:51AM UTC 166
97.86
GitHub Action Run
Source Files on build 35331562996
  • Tree
  • List 167
  • Changed 2
  • Source Changed 1
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #35331562996
  • Pull Request #2954
  • PR Base - master (#35330680770)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc