HTTP::Response - HTTP style response message |
HTTP::Response - HTTP style response message
Response objects are returned by the request()
method of the LWP::UserAgent
:
# ... $response = $ua->request($request) if ($response->is_success) { print $response->content; } else { print STDERR $response->status_line, "\n"; }
The HTTP::Response
class encapsulates HTTP style responses. A
response consists of a response line, some headers, and a content
body. Note that the LWP library uses HTTP style responses even for
non-HTTP protocol schemes. Instances of this class are usually
created and returned by the request()
method of an LWP::UserAgent
object.
HTTP::Response
is a subclass of HTTP::Message
and therefore
inherits its methods. The following additional methods are available:
HTTP::Response
object describing a response with
response code $code and optional message $msg. The optional $header
argument should be a reference to an HTTP::Headers
object or a
plain array reference of key/value pairs. The optional $content
argument should be a string of bytes. The meaning these arguments are
described below.
HTTP::Status
module provide constants that provide mnemonic names
for the code attribute.
HTTP::Headers
via HTTP::Message
. See the HTTP::Headers manpage for
details and other similar methods that can be used to access the
headers.
HTTP::Message
base class. See the HTTP::Message manpage for details and
other methods that can be used to access the content.
Content-Encoding
and
charsets have been decoded. See the HTTP::Message manpage for details.
request()
method,
because there might have been redirects and authorization retries in
between.
undef
if this is the first response in a chain.
The base URI is obtained from one the following sources (in priority order):
For backwards compatibility with older HTTP implementations we will also look for the ``Base:'' header.
The URI used to request this response. This might not be the original URI that was passed to $ua->request()
method, because we might have
received some redirect responses first.
If neither of these sources provide an absolute URI, undef is returned.
When the LWP protocol modules produce the HTTP::Response object, then any base URI embedded in the document (step 1) will already have initialized the ``Content-Base:'' header. This means that this method only performs the last 2 steps (the content is not always available either).
If the response does not contain an ``Expires'' or a ``Cache-Control'' header, then this function will apply some simple heuristic based on 'Last-Modified' to determine a suitable lifetime.
freshness_lifetime()
and current_age(). If the response is no longer
fresh, then it has to be refetched or revalidated by the origin
server.
the HTTP::Headers manpage, the HTTP::Message manpage, the HTTP::Status manpage, the HTTP::Request manpage
Copyright 1995-2004 Gisle Aas.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
HTTP::Response - HTTP style response message |