from small one page howto to huge articles all in one place
 

search text in:





Poll
Which kernel version do you use?





poll results

Last additions:
using iotop to find disk usage hogs

using iotop to find disk usage hogs

words:

887

views:

20251

userrating:

average rating: 3.4 (205 votes) (1=very good 6=terrible)


May 25th. 2007:
Words

486

Views

36026

why adblockers are bad


Workaround and fixes for the current Core Dump Handling vulnerability affected kernels

Workaround and fixes for the current Core Dump Handling vulnerability affected kernels

words:

161

views:

20991

userrating:

average rating: 1.0 (50 votes) (1=very good 6=terrible)


April, 26th. 2006:

Druckversion
You are here: manpages





HTTP::Proxy::BodyFilter::htmlparser

Section: User Contributed Perl Documentation (3)
Updated: 2010-03-30
Index Return to Main Contents
 

NAME

HTTP::Proxy::BodyFilter::htmlparser - Filter using HTML::Parser  

SYNOPSIS

    use HTTP::Proxy::BodyFilter::htmlparser;

    # $parser is a HTML::Parser object
    $proxy->push_filter(
        mime     => 'text/html',
        response => HTTP::Proxy::BodyFilter::htmlparser->new( $parser );
    );

 

DESCRIPTION

The HTTP::Proxy::BodyFilter::htmlparser lets you create a filter based on the HTML::Parser object of your choice.

This filter takes a HTML::Parser object as an argument to its constructor. The filter is either read-only or read-write. A read-only filter will not allow you to change the data on the fly. If you request a read-write filter, you'll have to rewrite the response-body completely.

With a read-write filter, you must recreate the whole body data. This is mainly due to the fact that the HTML::Parser has its own buffering system, and that there is no easy way to correlate the data that triggered the HTML::Parser event and its original position in the chunk sent by the origin server. See below for details.

Note that a simple filter that modify the HTML text (not the tags) can be created more easily with HTTP::Proxy::BodyFilter::htmltext.  

Creating a HTML::Parser that rewrites pages

A read-write filter is declared by passing "rw => 1" to the constructor:

     HTTP::Proxy::BodyFilter::htmlparser->new( $parser, rw => 1 );

To be able to modify the body of a message, a filter created with HTTP::Proxy::BodyFilter::htmlparser must rewrite it completely. The HTML::Parser object can update a special attribute named "output". To do so, the HTML::Parser handler will have to request the "self" attribute (that is to say, require access to the parser itself) and update its "output" key.

The following attributes are added to the HTML::Parser object by this filter:

output
A string that will hold the data sent back by the proxy.

This string will be used as a replacement for the body data only if the filter is read-write, that is to say, if it was initialised with "rw => 1".

Data should always be appended to "$parser->{output}".

message
A reference to the HTTP::Message that triggered the filter.
protocol
A reference to the HTTP::Protocol object.
 

METHODS

This filter defines three methods, called automatically:
filter()
The "filter()" method handles all the interactions with the HTML::Parser object.
init()
Initialise the filter with the HTML::Parser object passed to the constructor.
will_modify()
This method returns a boolean value that indicates to the system if it will modify the data passing through. The value is actually the value of the "rw" parameter passed to the constructor.
 

SEE ALSO

HTTP::Proxy, HTTP::Proxy::Bodyfilter, HTTP::Proxy::BodyFilter::htmltext.  

AUTHOR

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

COPYRIGHT

Copyright 2003-2006, Philippe Bruhat.  

LICENSE

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


 

Index

NAME
SYNOPSIS
DESCRIPTION
Creating a HTML::Parser that rewrites pages
METHODS
SEE ALSO
AUTHOR
COPYRIGHT
LICENSE

Please read "Why adblockers are badwww.cars2fast4u.de



Other free services
toURL.org
Shorten long
URLs to short
links like
http://tourl.org/2
tourl.org
.
FeedCollector
Combine various newsfeeds to one customized webpage
www.feedcollector.org
.
Reverse DNS lookup
Find out which hostname(s)
resolve to a
given IP or other hostnames for the server
www.reversednslookup.org
rdf newsfeed | rss newsfeed | Atom newsfeed
- Powered by LeopardCMS - Running on Gentoo -
Copyright 2004-2011 S&P Softwaredesign
Valid XHTML1.1 : Valid CSS : buttonmaker
- Level Triple-A Conformance to Web Content Accessibility Guidelines 1.0 -
- Copyright and legal notices -
Time to create this page: 21.2 ms
system status display