Changes for version 0.16 - 2005-09-01
- ENHANCEMENTS
- the new HTTP::Proxy::Engine class and its subclasses now handle the life and death of child processes
- the Content-Length header is now removed only if body filters will be applied on the response body
- HTTP::Proxy now supports some Apache-like attributes (start_servers, max_clients, max_requests_per_child, min_spare_servers, max_spare_servers, keep_alive, max_keep_alive_requests, keep_alive_timeout)
- added support for ALL WebDAV/DeltaV methods
- the query argument to push_filter(), added in 0.14, should now work (thanks to Simon Cozens for spotting the problem)
- the proxy now has a stash, which is a hash where filters can store data (possibly to share it). (Requested by Mark Fowler) Warning: since the proxy forks for each TCP connection, the data is only shared between filters in the same child process.
- DEPRECATION
- the maxchild, maxconn and maxserve accessors are now deprecated. They will disappear in 0.17:
- maxchild has no replacement (should be handled by the engine)
- maxconn becomes max_connections
- maxserve becomes max_keep_alive_requests
- Information regarding the way the engine should behave must passed in the constructor or directly to the engine
- the maxchild, maxconn and maxserve accessors are now deprecated. They will disappear in 0.17:
- NEW METHODS
- $proxy->engine() return the HTTP::Proxy::Engine instance
- $proxy->new_connection() increase the TCP connections counter (should only be used by HTTP::Proxy::Engine object)
- FIXES
- Makefile.PL was not playing nice with Build.PL in the previous distributions. This has been fixed. Sorry for the inconvenience
- no more annoying "getsockname() on closed socket GEN0" warnings (they appeared in 0.14)
- Win32 SUPPORT
- Win32 is now supported! badly supported, but supported...
- until someone writes a decent engine for Win32, the default Win32 engine will be HTTP::Proxy::Engine::NoFork, which can only handle a single TCP connection at a time
- EXAMPLES
- eg/yahoogroups.pl - removes ad interruptions from Yahoo! Groups
- eg/https.pl - peek/poke at encrypted web pages
- eg/logger.pl - improved the logger script
Modules
A pure Perl HTTP proxy
A base class for HTTP messages body filters
A filter that passes on a complete body or nothing
Filter using HTML::Parser
A filter to transmogrify HTML text
A filter that outputs only complete lines
A filter that saves transfered data to a file
A class for creating simple filters
A filter that outputs only complete tags
Generic child process manager engine for HTTP::Proxy
The "older" HTTP::Proxy engine
A basic, non forking HTTP::Proxy engine
A base class for HTTP message header filters
A class for creating simple filters
An internal filter to respect RFC2616
Provides
in lib/HTTP/Proxy.pm
Examples
- eg/README
- eg/adblock.pl
- eg/anonymiser.pl
- eg/ayb.pl
- eg/bork.pl
- eg/dragon.pl
- eg/fudd.pl
- eg/https.pl
- eg/javascript.pl
- eg/js.pl
- eg/leet.pl
- eg/logger.pl
- eg/outline.pl
- eg/pdf.pl
- eg/post.pl
- eg/proxy-auth.pl
- eg/proxy.pl
- eg/rainbow.pl
- eg/rfc.pl
- eg/rot13.pl
- eg/switch.pl
- eg/tracker.pl
- eg/trim.pl
- eg/yahoogroups.pl