POE::Filter::HTTPChunk.3pm

Langue: en

Version: 2009-09-14 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

my $TEXT = qr/[^[:cntrl:]]/o; my $qdtext = qr/[^[:cntrl:]\``]/o; #<any TEXT except <''>> my $quoted_pair = qr/\\[[:ascii:]]/o; my $quoted_string = qr/\``(?:$qdtext|$quoted_pair)\''/o; my $separators = ``[^()<>@,;:\\''\/\[\]\?={} \t"; my $notoken = qr/(?:[[:cntrl:]$separators]/o;

my $chunk_ext_name = $token; my $chunk_ext_val = qr/(?:$token|$quoted_string)/o;

my $chunk_extension = qr/(?:;$chunk_ext_name(?:$chunk_ext_val)?)/o;

sub put {
  die ``not implemented yet''; }

NAME

POE::Filter::HTTPChunk - Non-blocking incremental HTTP chunk parser.

SYNOPSIS

   # Not a complete program.
   use POE::Filter::HTTPChunk;
   use POE::Wheel::ReadWrite;
   sub setup_io {
     $_[HEAP]->{io_wheel} = POE::Wheel::ReadWrite->new(
       Filter => POE::Filter::HTTPChunk->new(),
       # See POE::Wheel::ReadWrite for other required parameters.
     );
   }
 
 

DESCRIPTION

This filter parses HTTP chunks from a data stream. It's used by POE::Component::Client::HTTP to do the bulk of the low-level HTTP parsing.

CONSTRUCTOR

new

"new" takes no parameters and returns a shiny new POE::Filter::HTTPChunk object ready to use.

METHODS

POE::Filter::HTTPChunk supports the following methods. Most of them adhere to the standard POE::Filter API. The documentation for POE::Filter explains the API in more detail.

get_one_start ARRAYREF

Accept an arrayref containing zero or more raw data chunks. They are added to the filter's input buffer. The filter will attempt to parse that data when get_one() is called.
   $filter_httpchunk->get_one_start(\@stream_data);
 
 

get_one

Parse a single HTTP chunk from the filter's input buffer. Data is entered into the buffer by the get_one_start() method. Returns an arrayref containing zero or one parsed HTTP chunk.
   $ret_arrayref = $filter_httpchunk->get_one();
 
 

get_pending

Returns an arrayref of stream data currently pending parsing. It's used to seamlessly transfer unparsed data between an old and a new filter when a wheel's filter is changed.
   $pending_arrayref = $filter_httpchunk->get_pending();
 
 

SEE ALSO

POE::Filter, POE.

BUGS

None are known at this time.

AUTHOR & COPYRIGHTS

POE::Filter::HTTPChunk is...
*
Copyright 2005-2006 Martijn van Beers
*
Copyright 2006 Rocco Caputo

All rights are reserved. POE::Filter::HTTPChunk is free software; you may redistribute it and/or modify it under the same terms as Perl itself.

CONTACT

Rocco may be contacted by e-mail via <mailto:rcaputo@cpan.org>, and Martijn may be contacted by email via <mailto:martijn@cpan.org>.

The preferred way to report bugs or requests is through RT though. See http://rt.cpan.org/NoAuth/Bugs.html?Dist=POE-Component-Client-HTTP <http://rt.cpan.org/NoAuth/Bugs.html?Dist=POE-Component-Client-HTTP> or mail mailto:bug-POE-Component-Client-HTTP@rt.cpan.org <mailto:bug-POE-Component-Client-HTTP@rt.cpan.org>

For questions, try the POE mailing list (poe@perl.org)