The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Apache::RewritingProxy - proxy that works by rewriting requested documents with no client proxy config needed.

SYNOPSIS

# Configuration in httpd.conf

        <Location /foo>
        SetHandler perl-script
        PerlHandler Apache::RewritingProxy
        Options ExecCGI
        PerlSendHeader On
        </Location>

requests to /foo/http://domain.dom/ will return the resource located at http://domain.dom with all links pointing to /foo/http://otherlink.dom

DESCRIPTION

This module allows proxying of web sites without any configuration changes on the client's part. The client is simply pointed to a URL using this module and it fetches the resource and rewrites all links to continue using this proxy.

RewritingProxy can also now be subclassed to allow users to write different handlers for the text. See the eg for examples of this in action.

INSTALLATION

perl Makefile.PL; make; make install;

REQUIREMENTS

You need the following modules installed for this module to work:

  LWP::UserAgent
  HTML::TokeParser
  URI::URL
  Of course, mod_perl and Apache would also help greatly.
  Mod_Perl needs to have lots of hooks enabled.  Preferably ALL_HOOKS
  If not, the proxy will just give lots of server errors and not really
  do that much.  In particular, the Apache::Table and Apache::Util
  seem to be necessary for the module to run properly. 

TODO/BUGS

Make cookies work better.

Eat fewer cookies in real life.

Add caching or incorporate some other caching mechanism.

SEE ALSO

mod_perl(3), Apache(3), LWP::UserAgent(3)

AUTHOR

Apache::RewritingProxy by Ken Hagan <ken.hagan@louisville.edu>

        Debugging, suggestions, and helpful comments courtesy of
        Mike Reiling <miker@softcoin.com>
        Steve Baker <steveb@web.co.nz>
        Tim DiLauro <timmo@jhu.edu>
        and a few other people foolish enough to download
        and run this thing.

COPYRIGHT

The Apache::RewritingProxy module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.