NAME
Unblock::HTTP3 - non-blocking HTTP/3 protocol engine for Perl
SYNOPSIS
use Unblock::HTTP3::Connection;
use Uniform::HTTP::Request;
my $h3 = Unblock::HTTP3::Connection->client(
quic => $quic,
);
$h3->start;
my $tx = $h3->request(
Uniform::HTTP::Request->new(
method => 'GET',
target => '/',
scheme => 'https',
authority => 'example.com',
),
);
DESCRIPTION
Unblock::HTTP3 is an HTTP/3 protocol engine.
It sits above Net::QUIC and uses Uniform::HTTP request and response objects. It does not own UDP sockets, timers, TLS configuration, or an event loop.
libnghttp3 is supplied through Alien::nghttp3 and is used for HTTP/3 framing and QPACK.
The main public objects are Unblock::HTTP3::Connection and Unblock::HTTP3::Transaction. Streaming bodies, Capsules, HTTP Datagrams, Extended CONNECT, extension SETTINGS, extension streams, priorities, graceful shutdown, and replay-aware 0-RTT are built around those objects.
MODULES
- Unblock::HTTP3::Connection
-
One HTTP/3 connection over one Net::QUIC connection.
- Unblock::HTTP3::Transaction
-
One HTTP/3 request stream and its response.
- Unblock::HTTP3::Request
-
Optional thin subclass of Uniform::HTTP::Request with HTTP/3 helpers.
- Unblock::HTTP3::Response
-
Optional thin subclass of Uniform::HTTP::Response with HTTP/3 diagnostics.
- Unblock::HTTP3::Body::Stream
-
Writable outgoing body stream.
- Unblock::HTTP3::Body::Reader
-
Readable incoming body stream.
SEE ALSO
Net::QUIC, Uniform::HTTP, Alien::nghttp3
AUTHOR
Joshua S. Day
LICENSE
This software is available under the MIT License.