NAME
   Plack::Middleware::Proxy::Requests - Forward proxy server

SYNOPSIS
     # In app.psgi
     use Plack::Builder;
     use Plack::App::Proxy;

     builder {
         enable "Proxy::Connect";
         enable "Proxy::AddVia";
         enable "Proxy::Requests";
         Plack::App::Proxy->new->to_app;
     };

     # From shell
     plackup -s Starlet -E Proxy -e 'enable q{AccessLog}' app.psgi

     # or
     plackup -s Starlet -E Proxy -MPlack::App::Proxy \
             -e 'enable q{AccessLog}; enable q{Proxy::Connect}; \
                 enable q{Proxy::AddVia}; enable q{Proxy::Requests}; \
                 Plack::App::Proxy->new->to_app'

DESCRIPTION
   This module handles HTTP requests as a forward proxy server.

   Its job is to set a `plack.proxy.url' environment variable based on
   `REQUEST_URI' variable.

   The HTTP responses from the Internet might be invalid. In that case it
   is better to run the server without Plack::Middleware::Lint module. This
   module is started by default and disabled if `-E' option is used when
   starting plackup script. Note that this disable also
   Plack::Middleware::AccessLog so it have to be enabled explicitly if
   needed.

   In some cases the default server Plack::Server::PSGI alias `Standalone'
   can hang up. It is better to run proxy server with Starlet, Starman or
   Twiggy.

SEE ALSO
   Plack, Plack::App::Proxy, Plack::Middleware::Proxy::Connect,
   Plack::Middleware::Proxy::AddVia, Starlet, Starman, Twiggy.

BUGS
   If you find the bug or want to implement new features, please report it
   at https://github.com/dex4er/perl-Plack-Middleware-Proxy-Requests/issues

   The code repository is available at
   http://github.com/dex4er/perl-Plack-Middleware-Proxy-Requests

AUTHOR
   Piotr Roszatycki <[email protected]>

LICENSE
   Copyright (c) 2012-2013 Piotr Roszatycki <[email protected]>.

   This is free software; you can redistribute it and/or modify it under
   the same terms as perl itself.

   See http://dev.perl.org/licenses/artistic.html