HTTP-StreamParser
    
    
  
  
  
view release on metacpan or search on metacpan
{
   "abstract" : "streaming HTTP parser",
   "author" : [
      "Tom Molesworth <cpan@entitymodel.com>"
   ],
   "dynamic_config" : 0,
   "generated_by" : "Dist::Zilla version 5.001, CPAN::Meta::Converter version 2.132830",
   "license" : [
      "perl_5"
   ],
   "meta-spec" : {
      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
---
abstract: 'streaming HTTP parser'
author:
  - 'Tom Molesworth <cpan@entitymodel.com>'
build_requires:
  File::Spec: 0
  IO::Handle: 0
  IPC::Open3: 0
  Test::More: 0.98
  perl: 5.010001
configure_requires:
  ExtUtils::MakeMaker: 6.48
Makefile.PL view on Meta::CPAN
use strict;
use warnings;
use 5.010001;
use ExtUtils::MakeMaker 6.48;
my %WriteMakefileArgs = (
  "ABSTRACT" => "streaming HTTP parser",
  "AUTHOR" => "Tom Molesworth <cpan\@entitymodel.com>",
  "BUILD_REQUIRES" => {},
  "CONFIGURE_REQUIRES" => {
    "ExtUtils::MakeMaker" => "6.48"
  },
  "DISTNAME" => "HTTP-StreamParser",
  "EXE_FILES" => [],
  "LICENSE" => "perl",
  "NAME" => "HTTP::StreamParser",
  "PREREQ_PM" => {
This archive contains the distribution HTTP-StreamParser,
version 0.101:
  streaming HTTP parser
This software is copyright (c) 2013 by Tom Molesworth.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
lib/HTTP/StreamParser.pm view on Meta::CPAN
package HTTP::StreamParser;
# ABSTRACT: streaming HTTP parser
use strict;
use warnings;
use parent qw(Mixin::Event::Dispatch);
our $VERSION = '0.101';
=head1 NAME
HTTP::StreamParser - support for streaming HTTP request/response parsing
=head1 VERSION
version 0.101
=head1 SYNOPSIS
 # For requests...
 my $req_parser = HTTP::StreamParser::Request->new;
 $req_parser->subscribe_to_event(
lib/HTTP/StreamParser.pm view on Meta::CPAN
   http_code   => sub { print "Code:   $_[1]\n" },
   http_status => sub { print "Status: $_[1]\n" },
   http_header => sub { print "Header: $_[1]: $_[2]\n" },
 );
 $resp_parser->parse(<<'EOF');
 ...
 EOF
=head1 DESCRIPTION
Parses HTTP requests or responses. Generates events. Should be suitable for streaming.
You may be looking for L<HTTP::Parser::XS> instead - it's at least 20x faster than
this module. If you wanted something without XS, there's L<HTTP::Parser>.
Actual implementation is in L<HTTP::StreamParser::Request> or L<HTTP::StreamParser::Response>.
Typically you'd instantiate one of these for each request you want to parse. You'd then
subscribe to the events you're interested in - for example, header information, request method,
etc. - and then start parsing via L</parse>.
=cut
lib/HTTP/StreamParser.pm view on Meta::CPAN
=head1 SEE ALSO
=over 4
=item * L<HTTP::Parser::XS> - used by several other modules, fast implementation, pure-Perl fallback,
but doesn't give access to the data until the headers have been parsed and aside from header count and
per-header size limitation, seems not to have any way to deal with oversized requests
=item * L<HTTP::Parser> - parses into L<HTTP::Request>/L<HTTP::Response> objects. Doesn't seem to guard
against large buffers but does have at least some support for streaming.
=item * L<HTTP::MessageParser> - also parses HTTP content
=item * L<Mojo::Message::Request> - part of L<Mojolicious>
=item * L<Mojo::Message::Response> - part of L<Mojolicious>
=item * L<HTTP::Response::Parser> - parses responses...
=item * L<POE::Filter::HTTP::Parser> - seems to be backed by L<HTTP::Parser::XS> / L<HTTP::Parser>
lib/HTTP/StreamParser/Request.pm view on Meta::CPAN
package HTTP::StreamParser::Request;
{
  $HTTP::StreamParser::Request::VERSION = '0.101';
}
use strict;
use warnings;
use parent qw(HTTP::StreamParser);
=head1 NAME
HTTP::StreamParser::Request - streaming parser for HTTP response data
=head1 VERSION
version 0.101
=head1 SYNOPSIS
=head1 DESCRIPTION
=cut
lib/HTTP/StreamParser/Response.pm view on Meta::CPAN
package HTTP::StreamParser::Response;
{
  $HTTP::StreamParser::Response::VERSION = '0.101';
}
use strict;
use warnings;
use parent qw(HTTP::StreamParser);
=head1 NAME
HTTP::StreamParser::Response - streaming parser for HTTP response data
=head1 VERSION
version 0.101
=head1 SYNOPSIS
=head1 DESCRIPTION
( run in 0.811 second using v1.01-cache-2.11-cpan-5dc5da66d9d )