From 26df27352221bad3b8bcc539be55a2ad4221f9a7 Mon Sep 17 00:00:00 2001 From: Micah Cowan Date: Sat, 31 May 2008 17:38:58 -0700 Subject: [PATCH] Returh 416 for fully-retrieved resources. --- tests/ChangeLog | 7 +++++++ tests/HTTPServer.pm | 28 +++++++++++++++++++--------- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/tests/ChangeLog b/tests/ChangeLog index f076a274..eae26707 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,12 +1,19 @@ 2008-05-31 Micah Cowan * Test-N-current.px: Ensure we catch failures. + * Test-N-old.px: Make it test only the timestamp, and not the content length in addition. + * Test-N-smaller.px: added. + * Test-N-no-info.px: added. + * run-px: Added Test-N-smaller.px, Test-N-no-info.px. + * HTTPServer.pm: Return 416 for fully-retrieved content, rather + than 206 with a zero content-length. + 2008-05-23 Micah Cowan * Test--spider.px: Make test expect 0 return code. diff --git a/tests/HTTPServer.pm b/tests/HTTPServer.pm index 97e91396..a307b737 100644 --- a/tests/HTTPServer.pm +++ b/tests/HTTPServer.pm @@ -98,15 +98,25 @@ sub send_response { my $start = $1 ? $1 : 0; my $end = $2 ? $2 : ($content_len - 1); my $len = $2 ? ($2 - $start) : ($content_len - $start); - $resp->header("Accept-Ranges" => "bytes"); - $resp->header("Content-Length" => $len); - $resp->header("Content-Range" => "bytes $start-$end/$content_len"); - $resp->header("Keep-Alive" => "timeout=15, max=100"); - $resp->header("Connection" => "Keep-Alive"); - $con->send_basic_header(206, "Partial Content", $resp->protocol); - print $con $resp->headers_as_string($CRLF); - print $con $CRLF; - print $con substr($content, $start, $len); + if ($len) { + $resp->header("Accept-Ranges" => "bytes"); + $resp->header("Content-Length" => $len); + $resp->header("Content-Range" + => "bytes $start-$end/$content_len"); + $resp->header("Keep-Alive" => "timeout=15, max=100"); + $resp->header("Connection" => "Keep-Alive"); + $con->send_basic_header(206, + "Partial Content", $resp->protocol); + print $con $resp->headers_as_string($CRLF); + print $con $CRLF; + print $con substr($content, $start, $len); + } else { + $con->send_basic_header(416, "Range Not Satisfiable", + $resp->protocol); + $resp->header("Keep-Alive" => "timeout=15, max=100"); + $resp->header("Connection" => "Keep-Alive"); + print $con $CRLF; + } next; } # fill in content -- 2.39.2