use strict; use warnings FATAL => 'all'; use Apache::Test; use Apache::TestRequest; use Apache::TestUtil; BEGIN { # prevent TestRequest from croaking on an HTTP/0.9 response $ENV{APACHE_TEST_HTTP_09_OK} = 1; } #verify we can send an non-ssl http request to the ssl port #without dumping core. my $url = '/index.html'; my @todo; if (Apache::TestConfig::WIN32) { print "\n#ap_core_translate() chokes on ':' here\n", "#where r->uri = /mod_ssl:error:HTTP-request\n"; @todo = (todo => [2]); } plan tests => 2, @todo, need_lwp; my $config = Apache::Test::config(); my $ssl_module = $config->{vars}->{ssl_module_name}; my $hostport = $config->{vhosts}->{$ssl_module}->{hostport}; my $rurl = "http://$hostport$url"; my $res = GET($rurl); my $proto = $res->protocol; if ($proto and $proto eq "HTTP/0.9") { skip "server gave HTTP/0.9 response"; } else { ok t_cmp($res->code, 400, "Expected bad request from 'GET $rurl'" ); } ok t_cmp($res->content, qr{speaking plain HTTP to an SSL-enabled server port}, "that error document contains the proper hint" );