From 05825a8a9f9ed6f4d3929f7f22b6fe10de02bf3f Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 30 Aug 2004 12:51:32 +0000 Subject: Make "Proxy-Connection: close" close the current proxy connection, as Roman Koifman found out. --- lib/transfer.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/transfer.c b/lib/transfer.c index 7b22546a6..89985a724 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -735,6 +735,17 @@ CURLcode Curl_readwrite(struct connectdata *conn, conn->bits.close = FALSE; /* don't close when done */ infof(data, "HTTP/1.0 proxy connection set to keep alive!\n"); } + else if((k->httpversion == 11) && + conn->bits.httpproxy && + Curl_compareheader(k->p, + "Proxy-Connection:", "close")) { + /* + * We get a HTTP/1.1 response from a proxy and it says it'll + * close down after this transfer. + */ + conn->bits.close = TRUE; /* close when done */ + infof(data, "HTTP/1.1 proxy connection set close!\n"); + } else if((k->httpversion == 10) && Curl_compareheader(k->p, "Connection:", "keep-alive")) { /* -- cgit v1.2.3