diff --git a/lib/http.c b/lib/http.c index 567d16dd2..07354a1c4 100644 --- a/lib/http.c +++ b/lib/http.c @@ -1325,6 +1325,15 @@ CURLcode Curl_http(struct connectdata *conn) if(data->set.cookie && !checkheaders(data, "Cookie:")) addcookies = data->set.cookie; + if(!checkheaders(data, "Accept-Encoding:") && + data->set.encoding) { + Curl_safefree(conn->allocptr.accept_encoding); + conn->allocptr.accept_encoding = + aprintf("Accept-Encoding: %s\015\012", data->set.encoding); + if(!conn->allocptr.accept_encoding) + return CURLE_OUT_OF_MEMORY; + } + if(!conn->bits.upload_chunky && (httpreq != HTTPREQ_GET)) { /* not a chunky transfer yet, but data is to be sent */ ptr = checkheaders(data, "Transfer-Encoding:"); diff --git a/lib/url.c b/lib/url.c index 23100fc13..8099688df 100644 --- a/lib/url.c +++ b/lib/url.c @@ -3348,14 +3348,6 @@ static CURLcode SetupConnection(struct connectdata *conn, } } - if(data->set.encoding) { - Curl_safefree(conn->allocptr.accept_encoding); - conn->allocptr.accept_encoding = - aprintf("Accept-Encoding: %s\015\012", data->set.encoding); - if(!conn->allocptr.accept_encoding) - return CURLE_OUT_OF_MEMORY; - } - conn->bytecount = 0; conn->headerbytecount = 0;