From 9664f530437b794d2c36ae080a3b8c314b57d531 Mon Sep 17 00:00:00 2001 From: phk Date: Fri, 6 Jul 2007 10:07:30 +0000 Subject: [PATCH] Don't rewrite pipe'ed requests to "GET". git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1658 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- varnish-cache/bin/varnishd/cache_http.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/varnish-cache/bin/varnishd/cache_http.c b/varnish-cache/bin/varnishd/cache_http.c index e3ff9f40..602fd38f 100644 --- a/varnish-cache/bin/varnishd/cache_http.c +++ b/varnish-cache/bin/varnishd/cache_http.c @@ -709,12 +709,15 @@ http_copyh(struct http *to, struct http *fm, unsigned n) } static void -http_getreq(struct http *to, struct http *fm) +http_copyreq(struct http *to, struct http *fm, int forceget) { CHECK_OBJ_NOTNULL(fm, HTTP_MAGIC); CHECK_OBJ_NOTNULL(to, HTTP_MAGIC); - http_seth(to, HTTP_HDR_REQ, "GET"); + if (forceget) + http_seth(to, HTTP_HDR_REQ, "GET"); + else + http_copyh(to, fm, HTTP_HDR_REQ); http_copyh(to, fm, HTTP_HDR_URL); http_seth(to, HTTP_HDR_PROTO, "HTTP/1.1"); } @@ -797,7 +800,7 @@ http_FilterHeader(struct sess *sp, unsigned how) hp = bereq->http; hp->logtag = HTTP_Tx; - http_getreq(hp, sp->http); + http_copyreq(hp, sp->http, how != HTTPH_R_PIPE); http_FilterFields(sp->wrk, sp->fd, hp, sp->http, how); http_PrintfHeader(sp->wrk, sp->fd, hp, "X-Varnish: %u", sp->xid); http_PrintfHeader(sp->wrk, sp->fd, hp, -- 2.39.5