When switching to HTTP because a HTTP proxy is being used, the existing
handler is now checked if it already is "compatible". This allows the https
handler remain while other non-http handlers will be redirected.
Bug: http://curl.haxx.se/mail/lib-2011-05/0214.html
Reported by: Jerome Robert
/* asking for a HTTP proxy is a bit funny when HTTP is disabled... */
return CURLE_UNSUPPORTED_PROTOCOL;
#else
- /* force this connection's protocol to become HTTP */
- conn->handler = &Curl_handler_http;
+ /* force this connection's protocol to become HTTP if not already
+ compatible */
+ if(!(conn->handler->protocol & CURLPROTO_HTTP))
+ conn->handler = &Curl_handler_http;
+
conn->bits.httpproxy = TRUE;
#endif
}