HTTP::Message - Class encapsulating HTTP messages


SYNOPSIS

        package HTTP::Request;  # or HTTP::Response
        require HTTP::Message;
        @ISA=qw(HTTP::Message);



DESCRIPTION

       A HTTP::Message object contains some headers and a content
       (body).  The class is abstract, i.e. it only used as a
       base class for HTTP::Request and HTTP::Response and should
       never instantiated as itself.

       The following methods are available:

       $mess = new HTTP::Message;
           This is the object constructor.  It should only be
           called internally by this library.  External code
           should construct HTTP::Request or HTTP::Response
           objects.

       $mess->clone()
           Returns a copy of the object.

       $mess->protocol([$proto])
           Sets the HTTP protocol used for the message.  The
           protocol() is a string like "HTTP/1.0" or "HTTP/1.1".

       $mess->content([$content])
           The content() method sets the content if an argument
           is given.  If no argument is given the content is not
           touched.  In either case the previous content is
           returned.

       $mess->add_content($data)
           The add_content() methods appends more data to the end
           of the previous content.

       $mess->content_ref
           The content_ref() method will return a reference to
           content string.  It can be more efficient to access
           the content this way if the content is huge, and it
           can be used for direct manipulation of the content,
           for instance:

             ${$res->content_ref} =~ s/\bfoo\b/bar/g;


       $mess->headers;
           Return the embedded HTTP::Headers object.

           Call the HTTP::Headers->as_string() method for the
           headers in the message.

       All unknown HTTP::Message methods are delegated to the
       HTTP::Headers object that is part of every message.  This
       allows convenient access to these methods.  Refer to the
       HTTP::Headers manpage for details of these methods:

         $mess->header($field => $val);
         $mess->scan(\&doit);
         $mess->push_header($field => $val);
         $mess->remove_header($field);

         $mess->date;
         $mess->expires;
         $mess->if_modified_since;
         $mess->if_unmodified_since;
         $mess->last_modified;
         $mess->content_type;
         $mess->content_encoding;
         $mess->content_length;
         $mess->content_language
         $mess->title;
         $mess->user_agent;
         $mess->server;
         $mess->from;
         $mess->referer;
         $mess->www_authenticate;
         $mess->authorization;
         $mess->proxy_authorization;
         $mess->authorization_basic;
         $mess->proxy_authorization_basic;



COPYRIGHT

       Copyright 1995-1997 Gisle Aas.

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