HTTP::Proxy::HeaderFilter::simple.3pm

Langue: en

Version: 2009-07-21 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

HTTP::Proxy::HeaderFilter::simple - 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.

SEE ALSO

HTTP::Proxy, HTTP::Proxy::HeaderFilter.

AUTHOR

Philippe ``BooK'' Bruhat, <book@cpan.org>. 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.