#!perl -w BEGIN { unless (-f "t/LIVE_TESTS" || -f "LIVE_TESTS") { print "1..0 # SKIP Live tests disabled; pass --live-tests to Makefile.PL to enable\n"; exit; } eval { require IO::Socket::INET; my $s = IO::Socket::INET->new( PeerHost => "www.apache.org:443", Timeout => 5, ); die "Can't connect: $@" unless $s; }; if ($@) { print "1..0 # SKIP Can't connect to www.apache.org\n"; print $@; exit; } unless (eval { require IO::Socket::SSL} || eval { require Net::SSL }) { print "1..0 # SKIP IO::Socket::SSL or Net::SSL not available\n"; print $@; exit; } } use strict; use Test; plan tests => 8; use Net::HTTPS; my $s = Net::HTTPS->new(Host => "www.apache.org", KeepAlive => 1, Timeout => 15, PeerHTTPVersion => "1.1", MaxLineLength => 512) || die "$@"; for (1..2) { $s->write_request(TRACE => "/libwww-perl", 'User-Agent' => 'Mozilla/5.0', 'Accept-Language' => 'no,en', Accept => '*/*'); my($code, $mess, %h) = $s->read_response_headers; print "# ----------------------------\n"; print "# $code $mess\n"; for (sort keys %h) { print "# $_: $h{$_}\n"; } print "#\n"; my $buf; while (1) { my $tmp; my $n = $s->read_entity_body($tmp, 20); last unless $n; $buf .= $tmp; } $buf =~ s/\r//g; (my $out = $buf) =~ s/^/# /gm; print $out; ok($code, "200"); ok($h{'Content-Type'}, "message/http"); ok($buf, qr/^TRACE \/libwww-perl HTTP\/1/); ok($buf, qr/^User-Agent: Mozilla\/5.0$/m); }