File: http.t

package info (click to toggle)
apache2 2.4.66-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 59,324 kB
  • sloc: ansic: 212,315; python: 13,830; perl: 11,307; sh: 7,254; php: 1,320; javascript: 1,314; awk: 749; makefile: 715; lex: 374; yacc: 161; xml: 2
file content (48 lines) | stat: -rw-r--r-- 1,155 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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"
        );