plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

commit 598020ec4ebadc3351e698bc5b3005b315e97ff6
parent 0efbfd36f554a534750bbebb1e68a76aada3faa6
Author: Anthony Martin <ality@pbrane.org>
Date:   Mon, 28 Jun 2010 14:37:26 -0700

hget: use absolute url for POST through a proxy

R=rsc
CC=codebot
http://codereview.appspot.com/1282042

Diffstat:
Msrc/cmd/hget.c | 24+++++++++++++++++-------
1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/src/cmd/hget.c b/src/cmd/hget.c @@ -387,13 +387,23 @@ dohttp(URL *u, URL *px, Range *r, Out *out, long mtime) dfprint(fd, "Authorization: Basic %s\r\n", u->cred); } else { - dfprint(fd, "POST %s HTTP/1.0\r\n" - "Host: %s\r\n" - "Content-type: application/x-www-form-urlencoded\r\n" - "Content-length: %d\r\n" - "User-agent: Plan9/hget\r\n" - "\r\n", - u->page, u->host, strlen(u->postbody)); + if(px->host == nil){ + dfprint(fd, "POST %s HTTP/1.0\r\n" + "Host: %s\r\n" + "Content-type: application/x-www-form-urlencoded\r\n" + "Content-length: %d\r\n" + "User-agent: Plan9/hget\r\n" + "\r\n", + u->page, u->host, strlen(u->postbody)); + } else { + dfprint(fd, "POST http://%s%s HTTP/1.0\r\n" + "Host: %s\r\n" + "Content-type: application/x-www-form-urlencoded\r\n" + "Content-length: %d\r\n" + "User-agent: Plan9/hget\r\n" + "\r\n", + u->host, u->page, u->host, strlen(u->postbody)); + } dfprint(fd, "%s", u->postbody); } if(r->start != 0){