POE::Filter::HTTPChunk(3) User Contributed Perl Documentation POE::Filter::HTTPChunk(3)

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"; }

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

version 0.949

# 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.
  );
}

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.

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

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.

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);

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();

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();

POE::Filter, POE.

None are known at this time.

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.

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 or mail <mailto:bug-POE-Component-Client-HTTP@rt.cpan.org>

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

2023-07-26 perl v5.38.0