Manual Reference Pages - POE::FILTER::HTTP::PARSER (3)
POE::Filter::HTTP::Parser - A HTTP POE filter for HTTP clients or servers
# For HTTP Servers
my $request_filter = POE::Filter::HTTP::Parser->new( type => server );
my $arrayref_of_request_objects = $filter->get( [ $stream ] );
my $arrayref_of_HTTP_stream = $filter->put( $arrayref_of_response_objects );
# For HTTP clients
my $response_filter = POE::Filter::HTTP::Parser->new( type => client );
my $arrayref_of_HTTP_stream = $filter->put( $arrayref_of_request_objects );
my $arrayref_of_response_objects = $filter->get( [ $stream ] );
POE::Filter::HTTP::Parser is a POE::Filter for HTTP which is based on HTTP::Parser.
It can be used to easily create POE based HTTP servers or clients.
With the type set to client, which is the default behaviour, get will parse
HTTP::Response objects from HTTP streams and put will accept HTTP::Request
objects and convert them to HTTP streams.
With the type set to server, the reverse will happen. get will parse HTTP::Request
objects from HTTP streams and put will accept HTTP::Response objects and convert them to
HTTP streams. Like POE::Filter::HTTPD if there is an error parsing the HTTP request, this
filter will generate a HTTP::Response object instead, to encapsulate the error message,
suitable for simply sending back to the requesting client.
Creates a new POE::Filter::HTTP::Parser object. Takes one optional argument, type which
determines whether the filter will act in client or server mode. client is the default
if type is not specified.
type, set to either client or server, default is client;
Takes an arrayref which contains lines of text. Returns an arrayref of either
HTTP::Request or HTTP::Response objects depending on the type that has been
Returns any data remaining in a filters input buffer. The filters input buffer is not cleared, however.
Returns an array reference if theres any data, or undef if the filter was empty.
Takes an arrayref of either HTTP::Response objects or HTTP::Request objects depending on whether
type is set to server or client, respectively.
If type is client, then this accepts HTTP::Request objects.
If type is server, then this accepts HTTP::Response objects.
This does make sense if you think about it.
The given objects are returned to their stream form.
Makes a copy of the filter, and clears the copys buffer.
The put method for HTTP responses was borrowed from POE::Filter::HTTPD,
along with the code to generate HTTP::Response on a parse error,
by Artur Bergman and Rocco Caputo.
Chris Williams <email@example.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2016 by Chris Williams, Artur Bergman and Rocco Caputo.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
|perl v5.20.3 ||POE::FILTER::HTTP::PARSER (3) ||2016-01-27 |
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.