# quiver v0.2.0 - Table of Contents A blazing fast, resilient, and easy-to-use HTTP client for Elixir ## Pages - [Overview](readme.md) - Guides - [Getting Started](getting-started.md) - [Architecture](architecture.md) - [Error Handling](error-handling.md) - [Telemetry](telemetry.md) - Benchmarks - [Concurrency](concurrency.md) - [Payload](payload.md) - [Pool Pressure](pool_pressure.md) - [Streaming 100kb](streaming_100kb.md) - [Streaming 1kb](streaming_1kb.md) - [Streaming 1mb](streaming_1mb.md) - [Streaming Early Halt](streaming_early_halt.md) - [Vs Finch 100kb](vs_finch_100kb.md) - [Vs Finch 1kb](vs_finch_1kb.md) - [Vs Finch 1mb](vs_finch_1mb.md) - [Vs Finch Post 100kb](vs_finch_post_100kb.md) - [Vs Finch Post 1kb](vs_finch_post_1kb.md) - [Vs Finch Post 1mb](vs_finch_post_1mb.md) - About - [Changelog](changelog.md) - [License](license.md) ## Modules - [Quiver.Proxy](Quiver.Proxy.md): HTTP CONNECT tunnel establishment. - [Quiver.Upgrade](Quiver.Upgrade.md): Represents a completed HTTP 101 Switching Protocols upgrade. - Client API - [Quiver](Quiver.md): A mid-level HTTP client for Elixir supporting HTTP/1.1 and HTTP/2. - [Quiver.Request](Quiver.Request.md): HTTP request data container. - [Quiver.Response](Quiver.Response.md): HTTP response data container. - [Quiver.StreamResponse](Quiver.StreamResponse.md): Response struct for streaming HTTP requests. - Integrations - [Tesla.Adapter.Quiver](Tesla.Adapter.Quiver.md): Tesla adapter for the Quiver HTTP client. - Configuration - [Quiver.Config](Quiver.Config.md): Consolidated validation for all Quiver configuration. - [Quiver.Config.Rule](Quiver.Config.Rule.md): A parsed pool routing rule with origin pattern and pool configuration. - [Quiver.Supervisor](Quiver.Supervisor.md): Named supervision tree for a Quiver HTTP client instance. - Telemetry - [Quiver.Telemetry](Quiver.Telemetry.md): Telemetry event definitions and helpers for Quiver. - Errors - [Quiver.Error](Quiver.Error.md): Structured error system for Quiver. - [Quiver.Error.CheckoutTimeout](Quiver.Error.CheckoutTimeout.md): Pool checkout timed out waiting for an available connection. - [Quiver.Error.CompressionError](Quiver.Error.CompressionError.md): HPACK decompression failed. - [Quiver.Error.ConnectionClosed](Quiver.Error.ConnectionClosed.md): Remote peer closed the connection unexpectedly. - [Quiver.Error.ConnectionFailed](Quiver.Error.ConnectionFailed.md): Generic connection failure not covered by a more specific error type. - [Quiver.Error.ConnectionRefused](Quiver.Error.ConnectionRefused.md): Connection refused by remote host. - [Quiver.Error.DNSResolutionFailed](Quiver.Error.DNSResolutionFailed.md): DNS resolution failed for the given host. - [Quiver.Error.FrameSizeError](Quiver.Error.FrameSizeError.md): HTTP/2 frame exceeds maximum allowed size or has invalid length. - [Quiver.Error.GoAway](Quiver.Error.GoAway.md): Connection-level GOAWAY signal -- the connection is shutting down. - [Quiver.Error.GoAwayUnprocessed](Quiver.Error.GoAwayUnprocessed.md): Request was not processed by the server before GOAWAY. - [Quiver.Error.HeaderListTooLarge](Quiver.Error.HeaderListTooLarge.md): Outgoing header list exceeds the server-advertised MAX_HEADER_LIST_SIZE (RFC 9113 Section 6.5.2). - [Quiver.Error.Invalid](Quiver.Error.Invalid.md): Caller-side mistakes where fixing the input resolves the error. - [Quiver.Error.InvalidContentLength](Quiver.Error.InvalidContentLength.md): Non-numeric or conflicting content-length value. - [Quiver.Error.InvalidPoolOpts](Quiver.Error.InvalidPoolOpts.md): Pool options failed Zoi validation. - [Quiver.Error.InvalidPoolRule](Quiver.Error.InvalidPoolRule.md): Pool config key could not be parsed as a valid origin pattern. - [Quiver.Error.InvalidScheme](Quiver.Error.InvalidScheme.md): URL with unsupported URI scheme. - [Quiver.Error.MalformedHeaders](Quiver.Error.MalformedHeaders.md): Unparseable HTTP header line. - [Quiver.Error.MaxConcurrentStreamsReached](Quiver.Error.MaxConcurrentStreamsReached.md): Cannot open a new stream; server's max concurrent streams limit reached. - [Quiver.Error.PoolStartFailed](Quiver.Error.PoolStartFailed.md): Dynamic pool creation failed. - [Quiver.Error.ProtocolViolation](Quiver.Error.ProtocolViolation.md): HTTP protocol violation -- malformed status line, invalid version, garbage bytes. - [Quiver.Error.ProxyConnectFailed](Quiver.Error.ProxyConnectFailed.md): Proxy CONNECT tunnel establishment failed with a non-2xx status. - [Quiver.Error.StreamClosed](Quiver.Error.StreamClosed.md): Attempted operation on a closed or non-existent HTTP/2 stream. - [Quiver.Error.StreamError](Quiver.Error.StreamError.md): Error raised when consuming a streaming response body. - [Quiver.Error.StreamReset](Quiver.Error.StreamReset.md): Remote peer reset a specific HTTP/2 stream. - [Quiver.Error.TLSHandshakeFailed](Quiver.Error.TLSHandshakeFailed.md): TLS handshake failed due to cipher mismatch, protocol error, etc. - [Quiver.Error.TLSVerificationFailed](Quiver.Error.TLSVerificationFailed.md): TLS certificate verification failed for the given host. - [Quiver.Error.Timeout](Quiver.Error.Timeout.md): Connect or receive timeout. - [Quiver.Error.Transient](Quiver.Error.Transient.md): Temporary failures where retrying the same request may succeed. - [Quiver.Error.Unrecoverable](Quiver.Error.Unrecoverable.md): Infrastructure failures that will not resolve without intervention. - Pools - [Quiver.Pool](Quiver.Pool.md): Common interface for protocol-specific pool implementations. - [Quiver.Pool.HTTP1](Quiver.Pool.HTTP1.md): HTTP/1 connection pool backed by NimblePool. - [Quiver.Pool.HTTP2](Quiver.Pool.HTTP2.md): HTTP/2 connection pool coordinator. - [Quiver.Pool.HTTP2.Connection](Quiver.Pool.HTTP2.Connection.md): gen_state_machine process owning a single HTTP/2 connection. - [Quiver.Pool.Manager](Quiver.Pool.Manager.md): Stateless pool routing module. - Connections - [Quiver.Conn](Quiver.Conn.md): Behaviour for HTTP connection implementations. - [Quiver.Conn.HTTP1](Quiver.Conn.HTTP1.md): HTTP/1.1 connection as a stateless data struct. - [Quiver.Conn.HTTP1.Parse](Quiver.Conn.HTTP1.Parse.md): Incremental HTTP/1.1 response parser. - [Quiver.Conn.HTTP1.Request](Quiver.Conn.HTTP1.Request.md): HTTP/1.1 request line and header serialization. - [Quiver.Conn.HTTP2](Quiver.Conn.HTTP2.md): HTTP/2 connection as a stateless data struct. - [Quiver.Conn.HTTP2.Frame](Quiver.Conn.HTTP2.Frame.md): HTTP/2 frame encode/decode per RFC 9113. - Transports - [Quiver.Transport](Quiver.Transport.md): Behaviour for socket transports. - [Quiver.Transport.SSL](Quiver.Transport.SSL.md): SSL/TLS transport wrapping `:ssl`. - [Quiver.Transport.TCP](Quiver.Transport.TCP.md): TCP transport wrapping `:gen_tcp`.