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

elixir-mint / mint / 33d12943b099acaa8f3327a621a494510fc5b82b-PR-526
91%
main: 91%

Build:
Build:
LAST BUILD BRANCH: fuzz-http1-transfer-codings
DEFAULT BRANCH: main
Ran 16 Oct 2026 01:05PM UTC
Jobs 1
Files 22
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

28 Sep 2026 02:51PM UTC coverage: 90.514% (+0.05%) from 90.46%
33d12943b099acaa8f3327a621a494510fc5b82b-PR-526

Pull #526

github

ericmj
Treat an empty Transfer-Encoding list as no transfer codings

A Transfer-Encoding field with no list elements, such as an empty value
or ",", failed the response with :empty_token_list and closed the
connection. For a response to HEAD this happened before the rule that
such a response has no body, and a comma-only field between two
nonempty Transfer-Encoding fields failed the response instead of being
ignored.

RFC 9110 5.6.1 allows a #transfer-coding list with zero elements, so
such a field now adds no transfer coding when the framing is chosen. A
response with only an empty Transfer-Encoding and no Content-Length has
no framing, so its body is read until the connection closes (RFC 9112
6.3). The field still counts as present: with Content-Length it's an
error, and it makes an HTTP/1.0 response, including a 1xx one, close
the connection (RFC 9112 6.1).

Transfer-Encoding values are parsed only where they decide the framing,
combined into one value as on the request side, so a malformed value no
longer fails a response to HEAD, a 204 or 304 response, or a 2xx
response to CONNECT, whose Transfer-Encoding RFC 9110 9.3.6 says to
ignore. Where it does fail, the error comes after the :headers event
(with :stream_headers the field itself can be emitted first) and not
while the header section is incomplete, other header errors in the same
section are reported instead of it, and with Content-Length the error is
:transfer_encoding_and_content_length instead of {:invalid_token_list,
value}.

On the request side, a Transfer-Encoding field with no codings passed to
request/5 with a streamed body counts as no codings: when chunked is
appended to such a last field it replaces the empty value.
Pull Request #526: Treat an empty Transfer-Encoding list as no transfer codings

9 of 9 new or added lines in 2 files covered. (100.0%)

1 existing line in 1 file now uncovered.

1813 of 2003 relevant lines covered (90.51%)

712.93 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
87.6
-0.13% lib/mint/http1.ex
Jobs
ID Job ID Ran Files Coverage
1 33d12943b099acaa8f3327a621a494510fc5b82b-PR-526.1 16 Oct 2026 01:05PM UTC 22
90.51
GitHub Action Run
Source Files on build 33d12943b099acaa8f3327a621a494510fc5b82b-PR-526
  • Tree
  • List 22
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #526
  • PR Base - http1-te-parameters (#96BC2B50...)
  • 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