NAME
Unblock::HTTP1::Server - Standalone HTTP/1 server protocol engine
SYNOPSIS
use Uniform::HTTP::Response;
use Unblock::HTTP1::Server;
my $server = Unblock::HTTP1::Server->new(
on_request => sub {
my ($tx, $request) = @_;
$tx->respond(Uniform::HTTP::Response->new(
status => 200,
body => "hello\n",
));
},
);
DESCRIPTION
This object owns one HTTP/1 server connection's protocol state. It does not create a listener, socket, TLS session, or event loop.
Incoming request bodies are delivered with on_body. on_request_end runs after the full request, including trailers, is complete. Informational responses can be sent with send_informational() on the Transaction.
A 101 response or successful CONNECT switches the engine out of HTTP mode. Bytes already read after the HTTP request are preserved by take_remainder().