Mojolicious-Plugin-TrustedProxy
view release on metacpan or search on metacpan
t/01_ip_headers.t view on Meta::CPAN
# Header: [default] X-Real-IP
$tid++;
$tc += 3;
$t->get_ok('/ip' => {'X-Real-IP' => '1.1.1.1'})
->status_is(200)->content_is('1.1.1.1', sprintf(
'[%s.%d] Assert from header X-Real-IP => 1.1.1.1 that tx->remote_address == 1.1.1.1',
$TEST, $tid)
);
# Header: [default] X-Forwarded-For (single)
$tid++;
$tc += 3;
$t->get_ok('/ip' => {'X-Forwarded-For' => '1.1.1.1'})
->status_is(200)->content_is('1.1.1.1', sprintf(
'[%s.%d] Assert from header X-Forwarded-For => 1.1.1.1 that tx->remote_address == 1.1.1.1',
$TEST, $tid)
);
# Header: [default] X-Forwarded-For (multiple)
$tid++;
$tc += 3;
$t->get_ok('/ip' => {'X-Forwarded-For' => '1.1.1.1 , 2.2.2.2,3.3.3.3'})
->status_is(200)->content_is('1.1.1.1', sprintf(
'[%s.%d] Assert from header X-Forwarded-For => "1.1.1.1 , 2.2.2.2,3.3.3.3" that tx->remote_address == 1.1.1.1',
$TEST, $tid)
);
# Check IPv6 support
$tid++;
$tc += 3;
$t->get_ok('/ip' => {'X-Forwarded-For' => 'fc01:c0ff:ee::'})
->status_is(200)->content_is('fc01:c0ff:ee::', sprintf(
'[%s.%d] Assert from header X-Forwarded-For => fc01:c0ff:ee:: that tx->remote_address == fc01:c0ff:ee::',
$TEST, $tid)
);
# Check bad IP value
$tid++;
$tc += 3;
$t->get_ok('/ip' => {'X-Forwarded-For' => '123.456.789.000'})
->status_is(200)->content_is('127.0.0.1', sprintf(
'[%s.%d] Assert from header X-Forwarded-For => 123.456.789.000 that tx->remote_address == 127.0.0.1',
$TEST, $tid)
);
# Check remote_proxy_address
$tid++;
$tc += 3;
$t->get_ok('/proxyip' => {'X-Real-IP' => '1.1.1.1'})
->status_is(200)->content_is('127.0.0.1', sprintf(
'[%s.%d] Assert from header X-Real-IP => 1.1.1.1 that tx->remote_proxy_address == 127.0.0.1',
$TEST, $tid)
t/06_hidden_headers.t view on Meta::CPAN
# Test suite variables
my $t = Test::Mojo->new('TestApp', {trustedproxy => {
hide_headers => 1,
}});
my $tid = 0;
my $tc = 0;
# Iterate through headers and ensure they're not present
my $headers = {
'X-Real-IP' => '1.1.1.1',
'X-Forwarded-For' => '1.1.1.1',
'X-SSL' => 1,
};
$tc += 2;
my $test = $t->get_ok('/headers' => $headers)->status_is(200);
foreach my $header (keys %$headers) {
$tid++;
$tc++;
$test->json_hasnt('/'.lc $header, sprintf(
'[%s.%d] Assert header "%s" not present',
$TEST, $tid, lc $header)
( run in 0.574 second using v1.01-cache-2.11-cpan-4e96b696675 )