blob: a1eb4467db77405208ea0dfe88d4a5ed6c0b9fc5 [file] [log] [blame]
# please insert nothing before this line: -*- mode: cperl; cperl-indent-level: 4; cperl-continued-statement-offset: 4; indent-tabs-mode: nil -*-
use strict;
use warnings FATAL => 'all';
use Apache::Test;
use Apache::TestRequest;
use Apache::TestUtil;
plan tests => 6, need 'HTML::HeadParser';
my $location = '/TestAPI__err_headers_out';
{
# with 2xx responses any of the err_headers_out and headers_out
# headers make it through
my $res = GET "$location?200";
#t_debug $res->as_string;
ok t_cmp $res->code, 200, "OK";
# HTTP::Headers 6.00 makes the next 2 tests fail. When the response comes
# in the header name is stored as "x-err_headers_out". But when it is to
# be read below it is referred as "x-err-headers-out" and hence not found.
local $HTTP::Headers::TRANSLATE_UNDERSCORE=
$HTTP::Headers::TRANSLATE_UNDERSCORE;
undef $HTTP::Headers::TRANSLATE_UNDERSCORE
if defined HTTP::Headers->VERSION and HTTP::Headers->VERSION >= 6.00;
ok t_cmp $res->header('X-err_headers_out'), "err_headers_out",
"X-err_headers_out: made it";
ok t_cmp $res->header('X-headers_out'), "headers_out",
"X-headers_out: made it";
}
{
# with non-2xx responses only the err_headers_out headers make it
# through. the headers_out do not make it.
my $res = GET "$location?404";
#t_debug $res->as_string;
ok t_cmp $res->code, 404, "not found";
# HTTP::Headers 6.00 makes this test fail. When the response comes in
# the header name is stored as "x-err_headers_out". But when it is to
# be read below it is referred as "x-err-headers-out" and hence not found.
local $HTTP::Headers::TRANSLATE_UNDERSCORE=
$HTTP::Headers::TRANSLATE_UNDERSCORE;
undef $HTTP::Headers::TRANSLATE_UNDERSCORE
if defined HTTP::Headers->VERSION and HTTP::Headers->VERSION >= 6.00;
ok t_cmp $res->header('X-err_headers_out'), "err_headers_out",
"X-err_headers_out: made it";
ok !$res->header('X-headers_out');
}