Skip to content

rjray/http-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HTTP/Parser
===========

HTTP::Parser is a stateful HTTP request/response parsing module.

It accepts chunks of data passed to it and returns either a completion hint
or an HTTP::Request (or Response) object when it has the entire request.  It
was originally written to be part of a simple Event.pm-based HTTP server.

e.g.

 my $parser = HTTP::Parser->new();
 my @lines = ('GET / HTTP/1.1','Host: localhost','Connection: close','','');

 my $result;
 while my $line(@lines) {
   $result = $parser->add("$line\x0d\x0a");
   print "passing '$line' got '$result'\n";
 }
 print $result->as_string();

gives:

 GET /
 Connection: close
 Host: localhost
 X-HTTP-Version: 1.1

INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make install

DEPENDENCIES

This module requires these other modules and libraries:

  perl 5.6.1

  HTTP::Request
  HTTP::Response (both part of libwww-perl)
  URI

COPYRIGHT AND LICENCE

Copyright (C) 2004-2007 David B. Robins

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.