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

elixir-mint / mint / 7719dd2be2fd9ba84292c0f2f5eec79ecc1d5efa
88%

Build:
DEFAULT BRANCH: main
Ran 22 Jul 2026 02:41PM 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

22 Jul 2026 02:37PM UTC coverage: 87.95% (+0.02%) from 87.935%
7719dd2be2fd9ba84292c0f2f5eec79ecc1d5efa

push

github

web-flow
Use the request target as the CONNECT :authority in Mint.HTTP2 (#497)

* Use the request target as the CONNECT :authority in Mint.HTTP2

Mint.HTTP2 hardcoded the :authority pseudo-header of CONNECT requests to
the connection's own authority and ignored the path argument, so a
CONNECT could only target the server itself. Per RFC 9113 section 8.5
the request target of a CONNECT is the host and port of the tunnel
destination, which request/5 now takes from its path argument, mirroring
HTTP/1 (HTTP1.request(conn, "CONNECT", "host:443", ...)).

Extended CONNECT (RFC 8441) is unchanged: when the headers contain a
:protocol pseudo-header, :authority stays the connection authority and
the caller passes :scheme and :path explicitly, which is how
mint_web_socket drives WebSocket over HTTP/2.

The new tests also pin the tunnel stream lifecycle: bytes flow in both
directions on the open stream, a content-length header on the 2xx
response doesn't end the tunnel, a server END_STREAM closes the whole
tunnel, and a client :eof half-closes it while receiving keeps working.
The docs describe CONNECT tunnels in Mint.HTTP2.request/5 and how to
build HTTP/2 proxying on top of them in the Proxying section.

* Correct the CONNECT tunnel docs

The relay pattern in the Proxying section claimed the request Host header
targets the real host; the default Host header and :authority contain the
connection port, which is the relay's port, so the docs now say so and
give the workarounds. Also qualify that the path argument doesn't apply
to extended CONNECT requests, and note that servers gate extended CONNECT
behind the :enable_connect_protocol setting, which Mint doesn't enforce.

1467 of 1668 relevant lines covered (87.95%)

493.9 hits per line

Coverage Regressions

Lines Coverage ∆ File
41
93.55
0.02% lib/mint/http2.ex
12
65.71
0.0% lib/mint/http.ex
Jobs
ID Job ID Ran Files Coverage
1 7719dd2be2fd9ba84292c0f2f5eec79ecc1d5efa.1 22 Jul 2026 02:41PM UTC 21
87.95
GitHub Action Run
Source Files on build 7719dd2be2fd9ba84292c0f2f5eec79ecc1d5efa
  • Tree
  • List 21
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 7719dd2b on github
  • Prev Build on main (#D9E1824C...)
  • Next Build on main (#99EBACA2...)
  • 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