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

elixir-mint / mint / f25cfff2866f41e4285fc3abdad3cda466710d10-PR-505
89%
main: 91%

Build:
Build:
LAST BUILD BRANCH: http2-followups
DEFAULT BRANCH: main
Ran 21 Sep 2026 08:43AM UTC
Jobs 1
Files 21
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

21 Sep 2026 08:42AM UTC coverage: 88.833% (+0.2%) from 88.627%
f25cfff2866f41e4285fc3abdad3cda466710d10-PR-505

Pull #505

github

ericmj
Check HTTP/2 response bodies against the content-length header

The content-length header of an HTTP/2 response wasn't compared with the
DATA frames, so a body that was cut short, or that kept going past the
declared length, was delivered as a complete response. Non-numeric and
conflicting content-length values were passed through as well.

Each stream now records the request method and the declared length and
counts the body bytes it receives. A body that exceeds the declared
length, or that ends (through END_STREAM on DATA, on the headers or on
trailers) at a different length, is a stream error with PROTOCOL_ERROR,
following RFC 9113 8.1.1. Identical duplicate content-length headers are
accepted; differing values fail with
:more_than_one_content_length_header and values that aren't digits fail
with {:invalid_content_length_header, value}.

Responses to HEAD and 204 and 304 responses must not have content,
whatever their content-length header says, so they're tracked with a
length of zero and a DATA frame on them is a stream error rather than
body data. 2xx responses to CONNECT carry tunnel data and are exempt
from the comparison.
Pull Request #505: Check HTTP/2 response bodies against the content-length header

57 of 60 new or added lines in 1 file covered. (95.0%)

19 existing lines in 2 files now uncovered.

1583 of 1782 relevant lines covered (88.83%)

551.35 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
94.14
0.2% lib/mint/http2.ex

Coverage Regressions

Lines Coverage ∆ File
15
94.14
0.2% lib/mint/http2.ex
4
87.27
0.0% lib/mint/http1/parse.ex
Jobs
ID Job ID Ran Files Coverage
1 f25cfff2866f41e4285fc3abdad3cda466710d10-PR-505.1 21 Sep 2026 08:44AM UTC 21
88.83
GitHub Action Run
Source Files on build f25cfff2866f41e4285fc3abdad3cda466710d10-PR-505
  • Tree
  • List 21
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #505
  • PR Base - main (#4385C9E2...)
  • Delete
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