HTTP::Proxy::HeaderFilter::simple - A class for creating simple filters


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

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

the HTTP::Proxy manpage, the HTTP::Proxy::HeaderFilter manpage.


AUTHOR

Philippe ``BooK'' Bruhat, <book@cpan.org>.


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.

 HTTP::Proxy::HeaderFilter::simple - A class for creating simple filters