HTTP::Proxy::HeaderFilter - A base class for HTTP message header filters |
HTTP::Proxy::HeaderFilter - A base class for HTTP message header filters
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;
The HTTP::Proxy::HeaderFilter class is used to create filters for HTTP request/response headers.
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()
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()
init()
method (see below).
init()
new()
constructeur to perform all
initisalisation tasks. It's called once in the filter lifetime.
It receives all the parameters passed to new()
.
Standard HTTP::Proxy::HeaderFilter classes are lowercase.
The following HeaderFilters are included in the HTTP::Proxy distribution:
Please read each filter's documentation for more details about their use.
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()
Philippe ``BooK'' Bruhat, <book@cpan.org>.
the HTTP::Proxy manpage, the HTTP::Proxy::BodyFilter manpage.
Copyright 2003-2005, Philippe Bruhat.
This module is free software; you can redistribute it or modify it under the same terms as Perl itself.
HTTP::Proxy::HeaderFilter - A base class for HTTP message header filters |