mint
mint copied to clipboard
Functional HTTP client for Elixir with support for HTTP/1 and HTTP/2 🌱
Fixes #311
In HTTP2 it is optional for the client to wait for the server settings frame before making requests. However, Mint waits for the server settings frame and this increases the...
I'm curious if it would be useful to add context to current error reasons. For example, :closed in HTTP/2, specifying whether it was due to a connection state check or...
When the stream state is local_half_closed and an end_stream flag is received, the stream can be terminated normally without RST_STREAM. Closes #433. I still didn't work on integration tests, and...
When a stream is locally closed and a EndStream flag is received, Mint is sending RST_STREAM with NO_ERROR. This is unnecessary as a stream can be deemed closed by both...
In the current implementation, Mint automatically "refills" window sizes for both the stream and the connection whenever it receives data frames. This approach, while functional, leads to the generation of...
Observed log: ```elixir ** (Mint.HTTPError) expected tunnel proxy to return a status between 200 and 299, got: 407 ``` Mint source code: https://github.com/elixir-mint/mint/blob/d3070089d4d22e8062e94df1334889437658fdee/lib/mint/tunnel_proxy.ex#L138 [From MDN HTTP 407](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/407): > The HTTP...
- Req version: 0.5.1 - Finch version: 0.18.0 - Mint version: 1.6.1 - Elixir version: 1.15.7 - OTP version: Erlang/OTP 26 [erts-14.2.5] I observed the following in my application logs:...
The humanize_error_code function should have a generic case for error codes that aren't explicitly defined. I sometimes get a 70007 error which then causes an error in the module. Happy...
I'd like to propose to add a `Mint.HTTP1.recv_response/3` that improve ergonomics of making one off requests: ```elixir iex> {:ok, conn} = Mint.HTTP.connect(:https, "httpbin.org", 443, mode: :passive) iex> {:ok, conn, ref}...