| @@ -143,7 +143,7 @@ private: | |||||
| && curl_easy_setopt (curl, CURLOPT_WRITEFUNCTION, StaticCurlWrite) == CURLE_OK | && curl_easy_setopt (curl, CURLOPT_WRITEFUNCTION, StaticCurlWrite) == CURLE_OK | ||||
| && curl_easy_setopt (curl, CURLOPT_MAXREDIRS, static_cast<long> (maxRedirects)) == CURLE_OK | && curl_easy_setopt (curl, CURLOPT_MAXREDIRS, static_cast<long> (maxRedirects)) == CURLE_OK | ||||
| && curl_easy_setopt (curl, CURLOPT_USERAGENT, userAgent.toRawUTF8()) == CURLE_OK | && curl_easy_setopt (curl, CURLOPT_USERAGENT, userAgent.toRawUTF8()) == CURLE_OK | ||||
| && curl_easy_setopt (curl, CURLOPT_FOLLOWLOCATION, 1) == CURLE_OK) | |||||
| && curl_easy_setopt (curl, CURLOPT_FOLLOWLOCATION, (maxRedirects > 0 ? 1 : 0)) == CURLE_OK) | |||||
| { | { | ||||
| if (isPost) | if (isPost) | ||||
| { | { | ||||
| @@ -441,10 +441,17 @@ private: | |||||
| size_t len = size * nmemb; | size_t len = size * nmemb; | ||||
| curlHeaders += String (ptr, len); | |||||
| String header (ptr, len); | |||||
| if (! header.contains (":") && header.startsWithIgnoreCase ("HTTP/")) | |||||
| curlHeaders.clear(); | |||||
| else | |||||
| curlHeaders += header; | |||||
| return len; | return len; | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| // Static method wrappers | // Static method wrappers | ||||
| static size_t StaticCurlWrite (char* ptr, size_t size, size_t nmemb, void* userdata) | static size_t StaticCurlWrite (char* ptr, size_t size, size_t nmemb, void* userdata) | ||||