HTTP::Proxy::BodyFilter::lines - A filter that outputs only complete lines |
HTTP::Proxy::BodyFilter::lines - A filter that outputs only complete lines
use HTTP::Proxy::BodyFilter::lines; use MyFilter; # this filter only works on complete lines
my $filter = MyFilter->new();
# stack both filters so that they'll handle text/* responses $proxy->push_filter( mime => 'text/*', response => HTTP::Proxy::BodyFilter::lines->new, response => $filter );
# I want my lines to end with '!' # This is equivalent to $/ = '!' in a normal Perl program my $lines = HTTP::Proxy::BodyFilter::lines->new('!');
The HTTP::Proxy::BodyFilter::lines filter makes sure that the next filter
in the filter chain will only receive complete lines. The ``chunks''
of data received by the following filters with either end with \n
or will be the last piece of data for the current HTTP message body.
You can change the idea the filter has of what is a line by passing to
its constructor the string it should understand as line ending. \n
is the default value.
my $filter = HTTP::Proxy::BodyFilter::lines->new( $sep );
This is similar to modifying $/ in a Perl program. In fact, this filter has a behaviour so similar to modifying $/ that it also knows about ``paragraph mode'' and ``record mode''.
Note that the ``slurp'' mode is not supported. Please use HTTP::Proxy::BodyFilter::complete to enable the generic store and forward filter mechanism.
This filter defines the following methods, which are automatically called:
init()
filter()
will_modify()
the HTTP::Proxy manpage, the HTTP::Proxy::BodyFilter manpage.
Philippe ``BooK'' Bruhat, <book@cpan.org>.
Copyright 2003-2006, Philippe Bruhat.
This module is free software; you can redistribute it or modify it under the same terms as Perl itself.
HTTP::Proxy::BodyFilter::lines - A filter that outputs only complete lines |