API Reference quiver v#0.3.0

Copy Markdown View Source

Modules

A fast, resilient HTTP client for Elixir with built-in connection pooling, HTTP/2 multiplexing, HTTP/3 over QUIC, and streaming support.

Consolidated validation for all Quiver configuration.

A parsed pool routing rule with origin pattern and pool configuration.

Behaviour for HTTP connection implementations.

HTTP/1.1 connection as a stateless data struct.

Incremental HTTP/1.1 response parser.

HTTP/1.1 request line and header serialization.

HTTP/2 connection as a stateless data struct.

HTTP/2 frame encode/decode per RFC 9113.

HTTP/3 connection wrapper.

Structured error system for Quiver.

Pool checkout timed out waiting for an available connection.

HPACK decompression failed.

Remote peer closed the connection unexpectedly.

Generic connection failure not covered by a more specific error type.

Connection refused by remote host.

DNS resolution failed for the given host.

HTTP/2 frame exceeds maximum allowed size or has invalid length.

Connection-level GOAWAY signal -- the connection is shutting down.

Request was not processed by the server before GOAWAY.

HTTP/3 error code constants (RFC 9114 Section 8.1) and decode helper. Mirrors lib/quiver/conn/http2/errors.ex for h2.

Datagram send failed at the QUIC or HTTP/3 layer.

HTTP/3 datagrams (RFC 9297) are not negotiated on this connection.

Request was not processed by the peer before GOAWAY (RFC 9114 Section 5.2).

Peer reset a request stream with RESET_STREAM (RFC 9114 Section 4.1).

Outgoing header list exceeds the server-advertised MAX_HEADER_LIST_SIZE (RFC 9113 Section 6.5.2).

Caller-side mistakes where fixing the input resolves the error.

Non-numeric or conflicting content-length value.

Pool options failed Zoi validation.

Pool config key could not be parsed as a valid origin pattern.

URL with unsupported URI scheme.

Unparseable HTTP header line.

Cannot open a new stream; server's max concurrent streams limit reached.

Dynamic pool creation failed.

HTTP protocol violation -- malformed status line, invalid version, garbage bytes.

Proxy CONNECT tunnel establishment failed with a non-2xx status.

QUIC or HTTP/3 connection handshake failed before reaching :connected.

Connection-level error post-handshake (RFC 9000 Section 20 / RFC 9114 Section 8).

Attempted operation on a closed or non-existent HTTP/2 stream.

Error raised when consuming a streaming response body.

Remote peer reset a specific HTTP/2 stream.

TLS handshake failed due to cipher mismatch, protocol error, etc.

TLS certificate verification failed for the given host.

Connect or receive timeout.

Temporary failures where retrying the same request may succeed.

Infrastructure failures that will not resolve without intervention.

HTTP/3 datagram channel API (RFC 9297).

Common interface for protocol-specific pool implementations.

HTTP/1 connection pool backed by NimblePool.

HTTP/2 connection pool coordinator.

gen_state_machine process owning a single HTTP/2 connection.

HTTP/3 pool coordinator.

gen_state_machine process owning a single HTTP/3 connection via :quic_h3.

Stateless pool routing module.

Process-name registration helper used by pool modules to close the race between :persistent_term publication and Registry visibility.

HTTP CONNECT tunnel establishment.

HTTP request data container.

HTTP response data container.

Response struct for streaming HTTP requests.

Named supervision tree for a Quiver HTTP client instance.

Telemetry event definitions and helpers for Quiver.

Behaviour for socket transports.

SSL/TLS transport wrapping :ssl.

TCP transport wrapping :gen_tcp.

Represents a completed HTTP 101 Switching Protocols upgrade.

Tesla adapter for the Quiver HTTP client.