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.
VERSION¶
version 0.949
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.
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)