NAME
    HTTP::Parser::XS - a fast, primitive HTTP request parser

SYNOPSIS
      use HTTP::Parser::XS qw(parse_http_request);
  
      my $ret = parse_http_request(
          "GET / HTTP/1.0\r\nHost: ...\r\n\r\n",
          \%env,
      );
      if ($ret == -2) {
          # request is incomplete
          ...
      } elsif ($ret == -1) {
          # request is broken
          ...
      } else {
          # $ret includes the size of the request, %env now contains a PSGI
          # request, if it is a POST / PUT request, read request content by
          # yourself
          ...
      }

DESCRIPTION
    HTTP::Parser::XS is a fast, primitive HTTP request parser that can be
    used either for writing a synchronous HTTP server or a event-driven
    server.

METHODS
    parse_http_request($request_string, \%env)
        Tries to parse given request string, and if successful, inserts
        variables into %env. For the name of the variables inserted, please
        refer to the PSGI specification. The return values are:

        >=0     length of the request (request line and the request
                headers), in bytes

        -1      given request is corrupt

        -2      given request is incomplete

COPYRIGHT
    Copyright 2009- Kazuho Oku

AUTHOR
    Kazuho Oku

THANKS TO
    nothingmuch charsbar

SEE ALSO
    HTTP::Parser HTTP::HeaderParser::XS

LICENSE
    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

