}
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");
}
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,