mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
Use persistent connections with proxies supporting them.
This commit is contained in:
parent
87ad80cacc
commit
2107eb06ab
@ -1,8 +1,12 @@
|
|||||||
2010-08-09 Giuseppe Scrivano <gscrivano@gnu.org>
|
2010-08-09 Giuseppe Scrivano <gscrivano@gnu.org>
|
||||||
|
|
||||||
|
Fix a problem with HTTP/1.0 proxies.
|
||||||
* http.c (gethttp): Specify the connection header when keep alive
|
* http.c (gethttp): Specify the connection header when keep alive
|
||||||
connections are not used.
|
connections are not used.
|
||||||
|
|
||||||
|
Use persistent connections with proxies supporting them.
|
||||||
|
* http.c (gethttp): Specify Proxy-Connection to the HTTP proxy.
|
||||||
|
|
||||||
2010-08-06 Giuseppe Scrivano <gscrivano@gnu.org>
|
2010-08-06 Giuseppe Scrivano <gscrivano@gnu.org>
|
||||||
|
|
||||||
* css-url.c (get_uri_string): Skip empty urls.
|
* css-url.c (get_uri_string): Skip empty urls.
|
||||||
|
20
src/http.c
20
src/http.c
@ -1573,15 +1573,9 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy,
|
|||||||
/* Is the server using the chunked transfer encoding? */
|
/* Is the server using the chunked transfer encoding? */
|
||||||
bool chunked_transfer_encoding = false;
|
bool chunked_transfer_encoding = false;
|
||||||
|
|
||||||
/* Whether keep-alive should be inhibited.
|
/* Whether keep-alive should be inhibited. */
|
||||||
|
|
||||||
RFC 2068 requests that 1.0 clients not send keep-alive requests
|
|
||||||
to proxies. This is because many 1.0 proxies do not interpret
|
|
||||||
the Connection header and transfer it to the remote server,
|
|
||||||
causing it to not close the connection and leave both the proxy
|
|
||||||
and the client hanging. */
|
|
||||||
bool inhibit_keep_alive =
|
bool inhibit_keep_alive =
|
||||||
!opt.http_keep_alive || opt.ignore_length || proxy != NULL;
|
!opt.http_keep_alive || opt.ignore_length;
|
||||||
|
|
||||||
/* Headers sent when using POST. */
|
/* Headers sent when using POST. */
|
||||||
wgint post_data_size = 0;
|
wgint post_data_size = 0;
|
||||||
@ -1694,7 +1688,15 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy,
|
|||||||
if (inhibit_keep_alive)
|
if (inhibit_keep_alive)
|
||||||
request_set_header (req, "Connection", "Close", rel_none);
|
request_set_header (req, "Connection", "Close", rel_none);
|
||||||
else
|
else
|
||||||
request_set_header (req, "Connection", "Keep-Alive", rel_none);
|
{
|
||||||
|
if (proxy == NULL)
|
||||||
|
request_set_header (req, "Connection", "Keep-Alive", rel_none);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
request_set_header (req, "Connection", "Close", rel_none);
|
||||||
|
request_set_header (req, "Proxy-Connection", "Keep-Alive", rel_none);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (opt.post_data || opt.post_file_name)
|
if (opt.post_data || opt.post_file_name)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user