r3540 - trunk/varnish-cache/bin/varnishtest

phk at projects.linpro.no phk at projects.linpro.no
Fri Jan 23 14:22:44 CET 2009


Author: phk
Date: 2009-01-23 14:22:43 +0100 (Fri, 23 Jan 2009)
New Revision: 3540

Modified:
   trunk/varnish-cache/bin/varnishtest/vtc_http.c
Log:
Don't append a CRNL to the body.

And add separate rxhdrs and rxbody primitives.

Submitted by: Yonatan Broza & Dmitry Rubinstein



Modified: trunk/varnish-cache/bin/varnishtest/vtc_http.c
===================================================================
--- trunk/varnish-cache/bin/varnishtest/vtc_http.c	2009-01-22 13:07:20 UTC (rev 3539)
+++ trunk/varnish-cache/bin/varnishtest/vtc_http.c	2009-01-23 13:22:43 UTC (rev 3540)
@@ -531,10 +531,8 @@
 	if (body != NULL)
 		vsb_printf(hp->vsb, "Content-Length: %d%s", strlen(body), nl);
 	vsb_cat(hp->vsb, nl);
-	if (body != NULL) {
+	if (body != NULL)
 		vsb_cat(hp->vsb, body);
-		vsb_cat(hp->vsb, nl);
-	}
 	http_write(hp, 4, "txresp");
 }
 
@@ -565,6 +563,48 @@
 	vtc_log(hp->vl, 4, "bodylen = %s", hp->bodylen);
 }
 
+static void
+cmd_http_rxhdrs(CMD_ARGS)
+{
+	struct http *hp;
+
+	(void)cmd;
+	(void)vl;
+	CAST_OBJ_NOTNULL(hp, priv, HTTP_MAGIC);
+	AZ(hp->client);
+	assert(!strcmp(av[0], "rxhdrs"));
+	av++;
+
+	for(; *av != NULL; av++) {
+		fprintf(stderr, "Unknown http rxreq spec: %s\n", *av);
+		exit (1);
+	}
+	vtc_log(hp->vl, 3, "rxhdrs");
+	http_rxhdr(hp);
+	http_splitheader(hp, 1);
+}
+
+static void
+cmd_http_rxbody(CMD_ARGS)
+{
+	struct http *hp;
+
+	(void)cmd;
+	(void)vl;
+	CAST_OBJ_NOTNULL(hp, priv, HTTP_MAGIC);
+	AZ(hp->client);
+	assert(!strcmp(av[0], "rxbody"));
+	av++;
+
+	for(; *av != NULL; av++) {
+		fprintf(stderr, "Unknown http rxreq spec: %s\n", *av);
+		exit (1);
+	}
+	vtc_log(hp->vl, 3, "rxbody");
+	http_swallow_body(hp, hp->req, 0);
+	vtc_log(hp->vl, 4, "bodylen = %s", hp->bodylen);
+}
+
 /**********************************************************************
  * Transmit a request
  */
@@ -698,7 +738,11 @@
 static struct cmds http_cmds[] = {
 	{ "timeout",	cmd_http_timeout },
 	{ "txreq",	cmd_http_txreq },
+
 	{ "rxreq",	cmd_http_rxreq },
+	{ "rxhdrs",	cmd_http_rxhdrs },
+	{ "rxbody",	cmd_http_rxbody },
+
 	{ "txresp",	cmd_http_txresp },
 	{ "rxresp",	cmd_http_rxresp },
 	{ "expect",	cmd_http_expect },



More information about the varnish-commit mailing list