HTTP::Supply

A modern HTTP pipeline parser

NAME

HTTP::Supply - modern HTTP/1.x message parser

SYNOPSIS

use HTTP::Supply::Request;

react {
    whenever IO::Socket::Async.listen('localhost', 8080) -> $conn {
        my $envs = HTTP::Supply::Request.parse-http($conn);
        whenever $envs -> %env {
            my $res := await app(%env);
            send-response($conn, $res);
        }
    }
}

use HTTP::Supply::Response;

react {
    whenever IO::Socket::Async.connect('localhost', 8080) -> $conn {
        send-request($conn);

        whenever HTTP::Supply::Response.parse-http($conn) -> $res {
            handle-response($res);
            done unless send-request($conn);
        }
    }
}

DESCRIPTION

EXPERIMENTAL: The API for these modules is experimental and may change.

This project provides asynchronous parsers for parsing HTTP request or response pipelines. As of this writing only HTTP/1.x is supported, but I hope to add HTTP/2 and HTTP/3 support as time allows.

AUTHOR

Sterling Hanenkamp <[email protected]>

COPYRIGHT & LICENSE

Copyright 2016 Sterling Hanenkamp.

This software is licensed under the same terms as Raku.

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.