diff options
Diffstat (limited to 'linden/indra/llmessage/llhttpclient.cpp')
-rw-r--r-- | linden/indra/llmessage/llhttpclient.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/linden/indra/llmessage/llhttpclient.cpp b/linden/indra/llmessage/llhttpclient.cpp index e36503a..4e844c3 100644 --- a/linden/indra/llmessage/llhttpclient.cpp +++ b/linden/indra/llmessage/llhttpclient.cpp | |||
@@ -265,6 +265,7 @@ static void request( | |||
265 | LLURLRequest *req = new LLURLRequest(method, url); | 265 | LLURLRequest *req = new LLURLRequest(method, url); |
266 | req->requestEncoding(""); | 266 | req->requestEncoding(""); |
267 | 267 | ||
268 | // Insert custom headers is the caller sent any | ||
268 | if (headers.isMap()) | 269 | if (headers.isMap()) |
269 | { | 270 | { |
270 | LLSD::map_const_iterator iter = headers.beginMap(); | 271 | LLSD::map_const_iterator iter = headers.beginMap(); |
@@ -273,7 +274,17 @@ static void request( | |||
273 | for (; iter != end; ++iter) | 274 | for (; iter != end; ++iter) |
274 | { | 275 | { |
275 | std::ostringstream header; | 276 | std::ostringstream header; |
277 | //if the header is "Pragma" with no value | ||
278 | //the caller intends to force libcurl to drop | ||
279 | //the Pragma header it so gratuitously inserts | ||
280 | //Before inserting the header, force libcurl | ||
281 | //to not use the proxy (read: llurlrequest.cpp) | ||
282 | if ((iter->first == "Pragma") && (iter->second.asString() == "")) | ||
283 | { | ||
284 | req->useProxy(FALSE); | ||
285 | } | ||
276 | header << iter->first << ": " << iter->second.asString() ; | 286 | header << iter->first << ": " << iter->second.asString() ; |
287 | llinfos << "header = " << header.str() << llendl; | ||
277 | req->addHeader(header.str().c_str()); | 288 | req->addHeader(header.str().c_str()); |
278 | } | 289 | } |
279 | } | 290 | } |