diff options
Diffstat (limited to 'indra/llmessage/llhttpclient.cpp')
-rw-r--r-- | indra/llmessage/llhttpclient.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/indra/llmessage/llhttpclient.cpp b/indra/llmessage/llhttpclient.cpp index c798e6473c..1763acaf8c 100644 --- a/indra/llmessage/llhttpclient.cpp +++ b/indra/llmessage/llhttpclient.cpp @@ -245,6 +245,7 @@ static void request( LLURLRequest *req = new LLURLRequest(method, url); req->requestEncoding(""); + // Insert custom headers is the caller sent any if (headers.isMap()) { LLSD::map_const_iterator iter = headers.beginMap(); @@ -253,7 +254,17 @@ static void request( for (; iter != end; ++iter) { std::ostringstream header; + //if the header is "Pragma" with no value + //the caller intends to force libcurl to drop + //the Pragma header it so gratuitously inserts + //Before inserting the header, force libcurl + //to not use the proxy (read: llurlrequest.cpp) + if ((iter->first == "Pragma") && (iter->second.asString() == "")) + { + req->useProxy(FALSE); + } header << iter->first << ": " << iter->second.asString() ; + llinfos << "header = " << header.str() << llendl; req->addHeader(header.str().c_str()); } } |