r1812 - trunk/varnish-tools/regress/lib/Varnish/Test

des at projects.linpro.no des at projects.linpro.no
Wed Aug 8 12:58:17 CEST 2007


Author: des
Date: 2007-08-08 12:58:17 +0200 (Wed, 08 Aug 2007)
New Revision: 1812

Modified:
   trunk/varnish-tools/regress/lib/Varnish/Test/Case.pm
Log:
Improve request generation.


Modified: trunk/varnish-tools/regress/lib/Varnish/Test/Case.pm
===================================================================
--- trunk/varnish-tools/regress/lib/Varnish/Test/Case.pm	2007-08-08 10:01:50 UTC (rev 1811)
+++ trunk/varnish-tools/regress/lib/Varnish/Test/Case.pm	2007-08-08 10:58:17 UTC (rev 1812)
@@ -197,7 +197,7 @@
     my ($self, $server, $connection, $request) = @_;
 
     no strict 'refs';
-    my $method = $request->method();
+    my $method = lc($request->method());
     my $handler;
     if ($self->can("server_$method")) {
 	$handler = ref($self) . "::server_$method";
@@ -228,15 +228,26 @@
 sub request($$$$;$$) {
     my ($self, $client, $method, $uri, $header, $content) = @_;
 
-    my $req = HTTP::Request->new($method, $uri, $header, $content);
+    my $req = HTTP::Request->new($method, $uri, $header);
     $req->protocol('HTTP/1.1');
+    $req->header('Host' => 'varnish.example.com')
+	unless $req->header('Host');
+    $req->header('User-Agent' => ref($self))
+	unless $req->header('User-Agent');
+    if (defined($content)) {
+	$req->header('Content-Type' => 'text/plain')
+	    unless ($req->header('Content-Type'));
+	$req->header('Content-Length' => length($content))
+	    unless ($req->header('Content-Length'));
+	$req->content($content);
+    }
     $client->send_request($req, 2);
     my ($ev, $resp) =
 	$self->run_loop('ev_client_response', 'ev_client_timeout');
+    die "Client time-out before receiving a (complete) response\n"
+	if $ev eq 'ev_client_timeout';
     die "Internal error\n"
 	unless $resp && ref($resp) && $resp->isa('HTTP::Response');
-    die "Client time-out before receiving a (complete) response\n"
-	if $ev eq 'ev_client_timeout';
     die "No X-Varnish header\n"
 	unless $resp->header('X-Varnish');
     $resp->request($req);
@@ -260,8 +271,6 @@
 
     $header = []
 	unless defined($header);
-    push(@{$header}, 'content-length', length($body))
-	if defined($body);
     return $self->request($client, 'POST', $uri, $header, $body);
 }
 




More information about the varnish-commit mailing list