58 lines
1.2 KiB
Perl
58 lines
1.2 KiB
Perl
#
|
|
# Regression test for PR 18757.
|
|
#
|
|
# Annoyingly awkward to write because LWP is a poor excuse for an HTTP
|
|
# interface and will lie about what response headers are sent, so this
|
|
# must be yet another test which speaks TCP directly.
|
|
#
|
|
|
|
use strict;
|
|
use warnings FATAL => 'all';
|
|
|
|
use Apache::Test;
|
|
use Apache::TestUtil;
|
|
use Apache::TestRequest;
|
|
|
|
plan tests => 3, need 'proxy', need_min_apache_version('2.2.1'), need_cgi;
|
|
|
|
Apache::TestRequest::module("mod_proxy");
|
|
|
|
my $path = "/index.html";
|
|
|
|
my $r = GET($path);
|
|
|
|
ok t_cmp($r->code, 200, "200 response from GET");
|
|
|
|
my $clength = $r->content_length;
|
|
|
|
t_debug("expected C-L is $clength");
|
|
|
|
my $url = Apache::TestRequest::resolve_url($path);
|
|
my $hostport = Apache::TestRequest::hostport();
|
|
my $sock = Apache::TestRequest::vhost_socket("mod_proxy");
|
|
|
|
t_debug "URL via proxy is $url";
|
|
|
|
ok $sock;
|
|
|
|
$sock->print("HEAD $url HTTP/1.1\r\n");
|
|
$sock->print("Host: $hostport\r\n");
|
|
$sock->print("\r\n");
|
|
|
|
my $ok = 0;
|
|
my $response;
|
|
|
|
do {
|
|
chomp($response = Apache::TestRequest::getline($sock) || '');
|
|
$response =~ s/\s$//;
|
|
|
|
t_debug("line: $response");
|
|
|
|
if ($response =~ /Content-Length: $clength/) {
|
|
$ok = 1;
|
|
}
|
|
|
|
}
|
|
while ($response ne "");
|
|
|
|
ok t_cmp($ok, 1, "whether proxy strips Content-Length header");
|