mirror of
https://github.com/curl/curl.git
synced 2025-09-10 22:22:43 +03:00
for HTTP/1.0 we default to non keep-alive connections, but when we get a
1.0-reply from a proxy we use and the Proxy-Connection: keep-alive header is used, we switch it on and live happily ever after
This commit is contained in:
parent
580896d615
commit
67d5c0a970
|
@ -367,6 +367,12 @@ Transfer(struct connectdata *c_conn)
|
||||||
return CURLE_HTTP_NOT_FOUND;
|
return CURLE_HTTP_NOT_FOUND;
|
||||||
}
|
}
|
||||||
data->progress.httpcode = code;
|
data->progress.httpcode = code;
|
||||||
|
data->progress.httpversion = httpversion;
|
||||||
|
if(httpversion == 0)
|
||||||
|
/* Default action for HTTP/1.0 must be to close, unless
|
||||||
|
we get one of those fancy headers that tell us the
|
||||||
|
server keeps it open for us! */
|
||||||
|
conn->bits.close = TRUE;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
header = FALSE; /* this is not a header line */
|
header = FALSE; /* this is not a header line */
|
||||||
|
@ -379,6 +385,18 @@ Transfer(struct connectdata *c_conn)
|
||||||
conn->size = contentlength;
|
conn->size = contentlength;
|
||||||
Curl_pgrsSetDownloadSize(data, contentlength);
|
Curl_pgrsSetDownloadSize(data, contentlength);
|
||||||
}
|
}
|
||||||
|
else if((httpversion == 0) &&
|
||||||
|
conn->bits.httpproxy &&
|
||||||
|
strnequal("Proxy-Connection: keep-alive", p,
|
||||||
|
strlen("Proxy-Connection: keep-alive"))) {
|
||||||
|
/*
|
||||||
|
* When a HTTP/1.0 reply comes when using a proxy, the
|
||||||
|
* 'Proxy-Connection: keep-alive' line tells us the
|
||||||
|
* connection will be kept alive for our pleasure.
|
||||||
|
* Default action for 1.0 is to close.
|
||||||
|
*/
|
||||||
|
conn->bits.close = FALSE; /* don't close when done */
|
||||||
|
}
|
||||||
else if (strnequal("Connection: close", p,
|
else if (strnequal("Connection: close", p,
|
||||||
strlen("Connection: close"))) {
|
strlen("Connection: close"))) {
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue
Block a user