HTTP::Proxy::HeaderFilUser3Contributed Perl DocumeHTTP::Proxy::HeaderFilter(3)NAMEHTTP::Proxy::HeaderFilter - A base class for HTTP message header
filters
SYNOPSIS
package MyFilter;
use base qw( HTTP::Proxy::HeaderFilter );
# changes the User-Agent header in all requests
# this filter must be pushed on the request stack
sub filter {
my ( $self, $headers, $message ) = @_;
$message->headers->header( User_Agent => 'MyFilter/1.0' );
}
1;
DESCRIPTION
The HTTP::Proxy::HeaderFilter class is used to create filters for HTTP
request/response headers.
Creating a HeaderFilter
A HeaderFilter is just a derived class that implements some methods
called by the proxy. Of all the methods presented below, only
"filter()" must be defined in the derived class.
filter()
The signature of the filter() method is the following:
sub filter { my ( $self, $headers, $message) = @_; ... }
where $self is the filter object, $headers is a HTTP::Headers
object, and $message is either a HTTP::Request or a HTTP::Response
object.
The $headers HTTP::Headers object is the one that will be sent to
the client (if the filter is on the response stack) or origin
server (if the filter is on the request stack). If $headers is
modified by the filter, the modified headers will be sent to the
client or server.
The init() method (if it exists) is called by the new()
constructeur to perform all initisalisation tasks. It's called once
in the filter lifetime.
A HTTP::Proxy::HeaderFilter object is a blessed hash, and the base
class reserves only hash keys that start with "_hphf".
new()
The constructor is defined for all subclasses. Initialisation tasks
(if any) for subclasses should be done in the "init()" method (see
below).
init()
This method is called by the "new()" constructeur to perform all
initisalisation tasks. It's called once in the filter lifetime.
It receives all the parameters passed to "new()".
Standard HeaderFilters
Standard HTTP::Proxy::HeaderFilter classes are lowercase.
The following HeaderFilters are included in the HTTP::Proxy
distribution:
simple
This class lets you create a simple header filter from a code
reference.
standard
This is the filter that provides standard headers handling for
HTTP::Proxy. It is loaded automatically by HTTP::Proxy.
Please read each filter's documentation for more details about their
use.
USEFUL METHODS FOR SUBCLASSES
Some methods are available to filters, so that they can eventually use
the little knowledge they might have of HTTP::Proxy's internals. They
mostly are accessors.
proxy()
Gets a reference to the HTTP::Proxy objects that owns the filter.
This gives access to some of the proxy methods.
AUTHOR
Philippe "BooK" Bruhat, <book@cpan.org>.
SEE ALSO
HTTP::Proxy, HTTP::Proxy::BodyFilter.
COPYRIGHT
Copyright 2003-2005, Philippe Bruhat.
LICENSE
This module is free software; you can redistribute it or modify it
under the same terms as Perl itself.
perl v5.14.1 2011-07-20 HTTP::Proxy::HeaderFilter(3)