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

elixir-mint / mint / 0e474d7cc54a4274629a259d0a8ce5dbe6765ff0-PR-479 / 1
88%
main: 88%

Build:
Build:
LAST BUILD BRANCH: next_body_chunk
DEFAULT BRANCH: main
Ran 12 Apr 2026 03:28PM UTC
Files 21
Run time 0s
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

12 Apr 2026 03:24PM UTC coverage: 87.813% (+0.04%) from 87.772%
0e474d7cc54a4274629a259d0a8ce5dbe6765ff0-PR-479.1

Pull #479

github

ericmj
Fix HTTP/1 handling of 1xx informational responses

1xx informational responses (100 Continue, 103 Early Hints, etc.) were
treated the same as HEAD and 204/304 responses: Mint emitted `{:done, ref}`
and popped the request from its queue. The real final response arriving
afterwards had no active request and Mint returned `{:unexpected_data, _}`,
closing the connection.

This broke two common scenarios:

  * Requests sent with `Expect: 100-continue`, where the server sends 100
    Continue before the final response.
  * Servers or intermediaries emitting unsolicited 1xx (Plug.Conn.inform/3,
    HAProxy 102 Processing, CDNs sending 103 Early Hints, etc.).

Fix: split 1xx out of the `:none` body branch in `message_body/1` into a
new `:informational` body kind. In `decode_body/5`, the `:informational`
clause resets the request's response-side fields (`version`, `status`,
`headers_buffer`, etc.) back to their initial state and continues parsing
from `:status` without popping the request. The `{:status, ref, 1xx}` and
`{:headers, ref, _}` responses are still emitted to the caller by the
existing `:status`/`:headers` decode stages, so informational responses
remain visible; only the premature `{:done, ref}` is suppressed.
Pull Request #479: Fix HTTP/1 handling of 1xx informational responses

1297 of 1477 relevant lines covered (87.81%)

262.23 hits per line

Source Files on job 0e474d7cc54a4274629a259d0a8ce5dbe6765ff0-PR-479.1
  • Tree
  • List 21
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 0
  • 0e474d7c on github
  • Prev Job for on ericmj/fix-1xx-informational-response (#0bfcc869b53b83989c24ba681d66d0a447b5a1c3.1)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc