Behaviour for HTTP connection implementations.
Connections are protocol-specific data structs (HTTP/1, HTTP/2) that serialize requests and parse responses over a transport.
All response fragments are tagged with a request reference for multiplexing support. HTTP/1 uses a single ref per request.
Summary
Types
@type body() :: iodata() | nil | {:stream, Enumerable.t()}
@type method() ::
:get | :head | :post | :put | :delete | :patch | :options | :trace | :connect
@type t() :: struct()
Callbacks
@callback max_concurrent_streams(conn :: t()) :: non_neg_integer()
@callback open_request_count(conn :: t()) :: non_neg_integer()