HTTP::Proxy::HeaderFilter::simple - A class for creating simple filters
use HTTP::Proxy::HeaderFilter::simple;
# a simple User-Agent filter
my $filter = HTTP::Proxy::HeaderFilter::simple->new(
sub { $_[1]->header( User_Agent => 'foobar/1.0' ); }
);
$proxy->push_filter( request => $filter );
HTTP::Proxy::HeaderFilter::simple can create BodyFilter without going through
the hassle of creating a full-fledged class. Simply pass a code reference to
the "filter()" method of your filter to the
constructor, and you'll get the adequate filter.
The constructor is called with a single code reference. The code reference must
conform to the standard "filter()" signature
for header filters:
sub filter { my ( $self, $headers, $message) = @_; ... }
This code reference is used for the
"filter()" method.
This filter "factory" defines the standard HTTP::Proxy::HeaderFilter
methods, but those are only, erm, "proxies" to the actual CODE
references passed to the constructor. These "proxy" methods are:
- filter()
- begin()
- end()
Two other methods are actually HTTP::Proxy::HeaderFilter::simple
methods, and are called automatically:
- init()
- Initalise the filter instance with the code references passed to the
constructor.
- can()
- Return the actual code reference that will be run, and not the
"proxy" methods. If called with any other name than
"begin" and
"filter", it calls
"UNIVERSAL::can()" instead.
HTTP::Proxy, HTTP::Proxy::HeaderFilter.
Philippe "BooK" Bruhat, <book@cpan.org>.
Copyright 2003-2015, Philippe Bruhat.
This module is free software; you can redistribute it or modify it under the
same terms as Perl itself.