blob: e57ee808da48acf3a1bf5fed05683813a5403693 [file] [log] [blame]
use Apache::testold;
use Config;
{
package NoRedirect::UA;
@ISA = qw(LWP::UserAgent);
sub redirect_ok {0}
}
if(not $net::Is_Win32 and $Config{usesfio} eq "true") {
print "1..1\n";
print "ok 1\n";
exit;
}
my $ua = NoRedirect::UA->new;
my $url = "http://$net::httpserver$net::perldir/io/redir.pl";
my $qredirect = "";
my($request,$response);
my $tests = 4;
$CGI::VERSION ||= 0;
if(have_module("CGI") && ($CGI::VERSION >= 2.37)) {
$qredirect = "http://$net::httpserver$net::perldir/qredirect.pl";
$tests += 2;
}
print "1..$tests\n";
$request = HTTP::Request->new(GET => "$url?internal");
$response = $ua->request($request, undef, undef);
unless (($response->code == 200) && ($response->content =~ /camel/)) {
print "not ";
}
print "ok 1\n";
$request = HTTP::Request->new(GET => "$url?remote");
$response = $ua->request($request, undef, undef);
unless ($response->is_redirect && ($response->header("Location") =~ /perl.apache.org/)) {
print "not ";
}
print "ok 2\n";
#print $response->as_string;
$request = HTTP::Request->new(GET => "$url?content");
$response = $ua->request($request, undef, undef);
unless ($response->content eq "OK") {
print "not ";
}
print "ok 3\n";
print "content=`", $response->content, "'\n";
#test internal redirect
$request = HTTP::Request->new(GET => "http://$net::httpserver$net::perldir/io/redir1.pl");
$response = $ua->request($request, undef, undef);
unless ($response->content eq 'OK') {
print "not ";
}
print "ok 4\n";
print "content=`", $response->content, "'\n";
if ($qredirect) {
$request = HTTP::Request->new(GET => $qredirect);
$response = $ua->request($request, undef, undef);
if ($response->content =~ /Location: http/) {
print "not ";
}
print "ok 5\n";
print "content=`", $response->content, "'\n";
$ua = LWP::UserAgent->new;
$request = HTTP::Request->new(GET => $qredirect);
$response = $ua->request($request, undef, undef);
unless ($response->content eq "OK") {
print "not ";
}
print "ok 6\n";
print "content=`", $response->content, "'\n";
}