Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

http::parser(3pm) [debian man page]

Parser(3pm)						User Contributed Perl Documentation					       Parser(3pm)

NAME
HTTP::Parser - parse HTTP/1.1 request into HTTP::Request/Response object SYNOPSIS
my $parser = HTTP::Parser->new(); ... my $status = $parser->add($text); if(0 == $status) { print "request: ".$parser->request()->as_string(); # HTTP::Request } elsif(-3 == $status) { print "no content length header! "; } elsif(-2 == $status) { print "need a line of data "; } elsif(-1 == $status) { print "need more data "; } else { # $status > 0 print "need $status byte(s) "; } DESCRIPTION
This is an HTTP request parser. It takes chunks of text as received and returns a 'hint' as to what is required, or returns the HTTP::Request when a complete request has been read. HTTP/1.1 chunking is supported. It dies if it finds an error. new ( named params... ) Create a new HTTP::Parser object. Takes named parameters, e.g.: my $parser = HTTP::Parser->new(request => 1); request Allows or denies parsing an HTTP request and returning an "HTTP::Request" object. response Allows or denies parsing an HTTP response and returning an "HTTP::Response" object. If you pass neither "request" nor "response", only requests are parsed (for backwards compatibility); if you pass either, the other defaults to false (disallowing both requests and responses is a fatal error). add ( string ) Parse request. Returns: 0 if finished (call "object" to get an HTTP::Request or Response object) -1 if not finished but not sure how many bytes remain -2 if waiting for a line (like 0 with a hint) -3 if there was no content-length header, so we can't tell whether we are waiting for more data or not. If you are reading from a TCP stream, you can keep adding data until the connection closes gracefully (the HTTP RFC allows this). If you are reading from a file, you should keep adding until you have all the data. Once you have added all data, you may call "object". if you are not sure whether you have all the data, the HTTP::Response object might be incomplete. count if waiting for that many bytes Dies on error. This method of parsing makes it easier to parse a request from an event-based system, on the other hand, it's quite alright to pass in the whole request. Ideally, the first chunk passed in is the header (up to the double newline), then whatever byte counts are requested. When a request object is returned, the X-HTTP-Version header has the HTTP version, the uri() method will always return a URI object, not a string. Note that a nonzero return is just a hint, and any amount of data can be passed in to a subsequent add() call. data Returns current data not parsed. Mainly useful after a request has been parsed. The data is not removed from the object's buffer, and will be seen before the data next passed to add(). extra Returns the count of extra bytes (length of data()) after a request. object Returns the object request. Only useful after the parse has completed. AUTHOR
David Robins <dbrobins@davidrobins.net> Fixes for 0.05 by David Cannings <david@edeca.net> SEE ALSO
HTTP::Request, HTTP::Response. perl v5.10.1 2011-03-06 Parser(3pm)

Check Out this Related Man Page

HTTP::OAI::Response(3pm)				User Contributed Perl Documentation				  HTTP::OAI::Response(3pm)

NAME
HTTP::OAI::Response - An OAI response DESCRIPTION
"HTTP::OAI::Response" inherits from HTTP::Response and supplies some utility methods for OAI. METHODS
$r = new HTTP::OAI::Response([responseDate=>$rd][, requestURL=>$ru]) This constructor method returns a new HTTP::OAI::Response object. Optionally set the responseDate and requestURL. Use $r->is_error to test whether the request was successful. In addition to the HTTP response codes, the following codes may be returned: 600 - Error parsing XML or invalid OAI response Use $r->message to obtain a human-readable error message. $r->copy_from( $r ) Copies an HTTP::Response $r into this object. $headers = $r->headers Returns an HTTP::OAI::Headers object. $errs = $r->errors([$err]) Returns and optionally adds to the OAI error list. Returns a reference to an array. $rd = $r->responseDate( [$rd] ) Returns and optionally sets the response date. $ru = $r->requestURL( [$ru] ) Returns and optionally sets the request URL. $verb = $r->verb( [$verb] ) Returns and optionally sets the OAI verb. $r->version Return the version of the OAI protocol used by the remote site (protocolVersion is automatically changed by the underlying API). $r->xslt( $url ) Set the stylesheet to use in a response. NOTE - requestURI/request Version 2.0 of OAI uses a "request" element to contain the client's request, rather than a URI. The OAI-PERL library automatically converts from a URI into the appropriate request structure, and back again when harvesting. The exception to this rule is for badVerb errors, where the arguments will not be available for conversion into a URI. perl v5.12.4 2011-06-23 HTTP::OAI::Response(3pm)
Man Page