http3 library

HTTP/3 built on top of the QUIC transport.

Implements RFC 9114, mapping HTTP semantics onto QUIC streams. This barrel exposes the HTTP/3 connection manager, request/response objects, frame types, and QPACK header compression.

Exports include:

Use this library when you are building an HTTP/3 client or server on top of a QuicConnection. If you need the underlying transport primitives, import quic.dart instead. If you need the full stack, import quic_lib.dart.

See also:

  • quic_lib.dart — the full public API.
  • quic.dart — QUIC transport primitives.

Classes

Capsule
Base class for the Capsule Protocol (RFC 9297).
CloseWebTransportSessionCapsule
A CLOSE_WEBTRANSPORT_SESSION capsule (type 0x2843).
DatagramCapsule
A DATAGRAM capsule (type 0x00) carrying unreliable datagram data.
DecoderInstruction
QPACK decoder stream instructions per RFC 9204 Section 4.3.2.
DrainWebTransportSessionCapsule
A DRAIN_WEBTRANSPORT_SESSION capsule (type 0x78ae).
Duplicate
RFC 9204 Section 4.3.4 — Duplicate.
EncoderInstruction
Abstract base class for QPACK encoder stream instructions per RFC 9204 Section 4.3.
ExtendedConnectRequest
An Extended CONNECT request (RFC 9220) used to bootstrap protocols such as WebTransport or WebSockets over HTTP/3.
GoawayCapsule
A GOAWAY capsule (type 0x1d).
Http3Connection
Manages an HTTP/3 connection over a QUIC transport.
Http3DataFrame
HTTP/3 DATA frame payload.
Http3HeadersFrame
HTTP/3 HEADERS frame payload.
Http3Request
An HTTP/3 request with pseudo-headers, regular headers, and optional body.
Http3Response
An HTTP/3 response with status code, headers, and optional body.
Http3SettingsFrame
HTTP/3 SETTINGS frame payload.
Http3StreamHandler
Handles classification of an HTTP/3 stream based on its QUIC stream ID.
InsertCountIncrement
Insert Count Increment instruction (T = 00, 6-bit prefix).
InsertWithNameReference
RFC 9204 Section 4.3.2 — Insert with Name Reference.
InsertWithoutNameReference
RFC 9204 Section 4.3.3 — Insert with Literal Name.
OriginFrame
HTTP/3 ORIGIN frame payload.
PriorityUpdateFrame
HTTP/3 PRIORITY_UPDATE frame payload (RFC 9218 Section 7).
PriorityUpdatePushFrame
HTTP/3 PRIORITY_UPDATE frame for push streams (RFC 9218 Section 7).
RegisterBidirectionalStreamCapsule
A REGISTER_BIDIRECTIONAL_STREAM capsule (type 0x41).
RegisterUnidirectionalStreamCapsule
A REGISTER_UNIDIRECTIONAL_STREAM capsule (type 0x42).
SectionAcknowledgment
Section Acknowledgment instruction (T = 1, 7-bit prefix).
SetDynamicTableCapacity
RFC 9204 Section 4.3.1 — Set Dynamic Table Capacity.
StreamCancellation
Stream Cancellation instruction (T = 01, 6-bit prefix).
UnknownCapsule
An unknown capsule type encountered on the wire.
WtMaxDataCapsule
WT_MAX_DATA capsule (draft-ietf-webtrans-http3 §5.6.3).
WtMaxStreamDataCapsule
WT_MAX_STREAM_DATA capsule (draft-ietf-webtrans-http3 §5.6.4).
WtMaxStreamsCapsule
WT_MAX_STREAMS capsule (draft-ietf-webtrans-http3 §5.6.2).

Enums

Http3FrameType
HTTP/3 frame types per RFC 9114 Section 7.2.
Http3SettingsId
HTTP/3 SETTINGS identifiers per RFC 9114 Section 7.2.4.
Http3StreamType
HTTP/3 stream types per RFC 9114 Section 4.1.
StreamType
Unidirectional stream type identifiers per RFC 9114 Section 6.2.