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 Twiggy -E Proxy -e 'enable q{AccessLog}' app.psgi

      # or
      plackup -s Twiggy -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 or Twiggy.

SEE ALSO
    Plack, Plack::App::Proxy, Plack::Middleware::Proxy::Connect,
    Plack::Middleware::Proxy::AddVia, Starlet, 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 <dexter@cpan.org>

LICENSE
    Copyright (c) 2012 Piotr Roszatycki <dexter@cpan.org>.

    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

