From 2e4bc07697c5ec89cd3eb145aaff835ac3dce00d Mon Sep 17 00:00:00 2001 From: mtortonesi Date: Thu, 27 Apr 2006 02:33:36 -0700 Subject: [PATCH] [svn] HTTPServer.pm: Serve index.html if no filename is given. --- tests/ChangeLog | 4 ++++ tests/HTTPServer.pm | 26 ++++++++++++++++---------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/tests/ChangeLog b/tests/ChangeLog index 02d64010..7f55d7c9 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,7 @@ +2006-04-27 Mauro Tortonesi + + * HTTPServer.pm: Serve index.html if no filename is given. + 2006-01-24 Mauro Tortonesi * HTTPServer.pm: Enhanced logging support. diff --git a/tests/HTTPServer.pm b/tests/HTTPServer.pm index 19375eff..c66ef853 100755 --- a/tests/HTTPServer.pm +++ b/tests/HTTPServer.pm @@ -20,19 +20,25 @@ sub run { while (my $con = $self->accept) { while (my $req = $con->get_request) { - print STDERR "Method: ", $req->method, "\n" if $log; - print STDERR "Path: ", $req->url->path, "\n" if $log; - foreach my $key (keys %{HTTPServer::urls}) { - print STDERR $key, '\n'; + my $url_path = $req->url->path; + if ($url_path =~ m{/$}) { + $url_path .= 'index.html'; } - if (exists($urls->{$req->url->path})) { - print STDERR "Serving requested URL: ", $req->url->path, "\n" if $log; + if ($log) { + print STDERR "Method: ", $req->method, "\n"; + print STDERR "Path: ", $url_path, "\n"; + print STDERR "Available URLs: ", "\n"; + foreach my $key (keys %$urls) { + print STDERR $key, "\n"; + } + } + if (exists($urls->{$url_path})) { + print STDERR "Serving requested URL: ", $url_path, "\n" if $log; next unless ($req->method eq "HEAD" || $req->method eq "GET"); # create response - my $tmp = $urls->{$req->url->path}; - my $resp = HTTP::Response->new ($tmp->{code}, - $tmp->{msg}); + my $tmp = $urls->{$url_path}; + my $resp = HTTP::Response->new ($tmp->{code}, $tmp->{msg}); print STDERR "HTTP::Response: \n", $resp->as_string if $log; #if (is_dynamic_url) { # dynamic resource @@ -63,7 +69,7 @@ sub run { $con->send_response($resp); print STDERR "HTTP::Response sent: \n", $resp->as_string if $log; } else { - print STDERR "Requested wrong URL: ", $req->url->path, "\n" if $log; + print STDERR "Requested wrong URL: ", $url_path, "\n" if $log; $con->send_error($HTTP::Status::RC_FORBIDDEN); } }