Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
POE::Filter::HTTP::ParUser3Contributed Perl DocumePOE::Filter::HTTP::Parser(3)

NAME
       POE::Filter::HTTP::Parser - A HTTP POE filter for HTTP clients or
       servers

VERSION
       version 1.08

SYNOPSIS
	   use POE::Filter::HTTP::Parser;

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

DESCRIPTION
       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.

CONSTRUCTOR
       "new"
	   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';

METHODS
       "get"
       "get_one_start"
       "get_one"
	   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	specified.

       "get_pending"
	   Returns any data remaining in a filter's input buffer. The filter's
	   input buffer	is not cleared,	however.  Returns an array reference
	   if there's any data,	or undef if the	filter was empty.

       "put"
	   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.

       "clone"
	   Makes a copy	of the filter, and clears the copy's buffer.

CREDITS
       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.

SEE ALSO
       POE::Filter

       HTTP::Parser

       POE::Filter::HTTPD

AUTHOR
       Chris Williams <chris@bingosnet.co.uk>

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.32.0			  2016-01-27	  POE::Filter::HTTP::Parser(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | CONSTRUCTOR | METHODS | CREDITS | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=POE::Filter::HTTP::Parser&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help