HTTP::Proxy::HeaderFilter::simple(3) A class for creating simple filters

SYNOPSIS


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 );

DESCRIPTION

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.

Constructor calling convention

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.

METHODS

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.

AUTHOR

Philippe ``BooK'' Bruhat, <[email protected]>.

COPYRIGHT

Copyright 2003-2015, Philippe Bruhat.

LICENSE

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