|
NAMEHTTP::HeaderParser::XS - an XS extension for processing HTTP headers.SYNOPSISuse HTTP::HeaderParser::XS; my $hdr = HTTP::HeaderParser::XS->new( \"GET / HTTP/1.0\r\nConnection: keep-alive\r\nHost: www.bar.com\r\n\r\n" ); if ( $hdr->isResponse ) { # this is not a response in this simple demo, but it could be print "Response code: " . $hdr->getStatusCode . "\n"; print "Connection header: " . $hdr->getHeader( 'Connection' ) . "\n"; } else { # see if it's a GET request if ( $hdr->getMethod == M_GET ) { print "GET: " . $hdr->getURI() . "\n"; # now let's rewrite the host header and rewrite the header :-) print "Host header was: " . $hdr->getHeader( 'Host' ) . "\n"; $hdr->setHeader( 'Host', 'www.foo.com' ); # show new headers, now that we changed something print "New headers:\n"; print $hdr->getReconstructed . "\n"; } else { print "Not a GET request!\n"; } } DESCRIPTIONThis module parses HTTP headers using a C++ state machine. (Hence this being an XS module.) The goal is to be fast, not necessarily to do everything you could ever want.Headers are not static, you can parse them, munge them, or even build them using this module. See the SYNOPSIS for more information on how to use this module. KNOWN BUGSThere are no known bugs at this time. Please report any you find!SEE ALSOThere is no place designated for support of this module. If you would like to contact the author, please see the email address below. Or, find him on the Perl IRC network as 'xb95', usually in various channels.AUTHORMark Smith, <mark@xb95.com>COPYRIGHT AND LICENSECopyright (C) 2004-2008 by Mark Smith.Copyright (C) 2004 by Danga Interactive, Inc. Copyright (C) 2005-2007 by Six Apart, Ltd. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.
Visit the GSP FreeBSD Man Page Interface. |