diff options
author | Daniel Stenberg <daniel@haxx.se> | 2009-02-02 16:19:23 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2009-02-02 16:19:23 +0000 |
commit | bdd4294e79eea15cb6f312f7ee7d388ad40a65e3 (patch) | |
tree | bfd4285bac21f3c71ad770df722bf87ed0d14c42 /lib/url.c | |
parent | dcf92bffd2a22909a44b45bd7490e2575e14f82c (diff) |
- Craig A West brought us: libcurl now defaults to do CONNECT with HTTP
version 1.1 instead of 1.0 like before. This change also introduces the new
proxy type for libcurl called 'CURLPROXY_HTTP_1_0' that then allows apps to
switch (back) to CONNECT 1.0 requests. The curl tool also got a --proxy1.0
option that works exactly like --proxy but sets CURLPROXY_HTTP_1_0.
I updated all test cases cases that use CONNECT and I tried to do some using
--proxy1.0 and some updated to do CONNECT 1.1 to get both versions run.
Diffstat (limited to 'lib/url.c')
-rw-r--r-- | lib/url.c | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -1453,7 +1453,7 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, case CURLOPT_PROXYTYPE: /* - * Set proxy type. HTTP/SOCKS4/SOCKS4a/SOCKS5/SOCKS5_HOSTNAME + * Set proxy type. HTTP/HTTP_1_0/SOCKS4/SOCKS4a/SOCKS5/SOCKS5_HOSTNAME */ data->set.proxytype = (curl_proxytype)va_arg(param, long); break; @@ -2857,6 +2857,7 @@ static CURLcode ConnectPlease(struct SessionHandle *data, break; #endif /* CURL_DISABLE_PROXY */ case CURLPROXY_HTTP: + case CURLPROXY_HTTP_1_0: /* do nothing here. handled later. */ break; default: @@ -4214,9 +4215,11 @@ static CURLcode create_conn(struct SessionHandle *data, conn->bits.proxy = (bool)(data->set.str[STRING_PROXY] && *data->set.str[STRING_PROXY]); - conn->bits.httpproxy = (bool)(conn->bits.proxy - && (conn->proxytype == CURLPROXY_HTTP)); - conn->bits.proxy_user_passwd = (bool)(NULL != data->set.str[STRING_PROXYUSERNAME]); + conn->bits.httpproxy = (bool)(conn->bits.proxy && + (conn->proxytype == CURLPROXY_HTTP || + conn->proxytype == CURLPROXY_HTTP_1_0)); + conn->bits.proxy_user_passwd = + (bool)(NULL != data->set.str[STRING_PROXYUSERNAME]); conn->bits.tunnel_proxy = data->set.tunnel_thru_httpproxy; #endif /* CURL_DISABLE_PROXY */ @@ -4315,7 +4318,8 @@ static CURLcode create_conn(struct SessionHandle *data, if(proxy && *proxy) { long bits = conn->protocol & (PROT_HTTPS|PROT_SSL|PROT_MISSING); - if(conn->proxytype == CURLPROXY_HTTP) { + if((conn->proxytype == CURLPROXY_HTTP) || + (conn->proxytype == CURLPROXY_HTTP_1_0)) { /* force this connection's protocol to become HTTP */ conn->protocol = PROT_HTTP | bits; conn->bits.httpproxy = TRUE; |