#!/usr/bin/perl
use strict;
use warnings;
use Test::More tests => 2;
use Plack::Builder;
my $test = sub {
my ($app, @args) = @_;
return sub {
my ($env) = @_;
my $app = builder {
enable 'Plack::Middleware::Proxy::Requests', @args;
$app;
};
return $app->($env);
};
};
{
my $uri = 'http://example.com/';
my $env = {
PATH_INFO => $uri,
QUERY_STRING => '',
REMOTE_ADDR => '127.0.0.1',
REQUEST_METHOD => 'GET',
REQUEST_URI => $uri,
SCRIPT_NAME => '',
SERVER_NAME => '0',
SERVER_PORT => 5000,
SERVER_PROTOCOL => 'HTTP/1.1',
'psgi.url_scheme' => 'http',
'psgi.version' => [1, 1],
};
my $app_proxy_url = sub {
[ 200, [ 'Content-Type' => 'text/plain' ], [ $_[0]->{'plack.proxy.url'} ] ]
};
{
ok my $res = $test->($app_proxy_url)->($env);
is $res->[2][0], $uri;
}
}
done_testing;