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

ruby-grape / grape / 35333720220
99%

Build:
DEFAULT BRANCH: master
Ran 18 Sep 2026 10:15AM UTC
Jobs 0
Files 0
Run time –
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

pending completion
35333720220

push

github

web-flow
Answer a DELETE whose body holds invalid bytes instead of raising (#2954)

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>
Source Files on build 35333720220
Detailed source file information is not available for this build.
  • Back to Repo
  • Github Actions Build #35333720220
  • 8661be12 on github
  • Prev Build on master (#35330680770)
  • Next Build on master (#35336214906)
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