diff --git a/indra/llmessage/llurlrequest.cpp b/indra/llmessage/llurlrequest.cpp
index f850656785a0f330eeacd3348f2a99b41721210f..db67fbeea710213dc600120acd90bf0bb888e9c4 100644
--- a/indra/llmessage/llurlrequest.cpp
+++ b/indra/llmessage/llurlrequest.cpp
@@ -192,6 +192,11 @@ void LLURLRequest::useProxy(bool use_proxy)
     }
 }
 
+void LLURLRequest::useProxy(const std::string &proxy)
+{
+	curl_easy_setopt(mDetail->mCurlRequest, CURLOPT_PROXY, proxy.c_str());
+}
+
 // virtual
 LLIOPipe::EStatus LLURLRequest::handleError(
 	LLIOPipe::EStatus status,
diff --git a/indra/llmessage/llurlrequest.h b/indra/llmessage/llurlrequest.h
index b154794ff1da78cf3538434b1c36bbbedefb3767..288bf463f55ef00340e22e90a3f1f359c3772b4a 100644
--- a/indra/llmessage/llurlrequest.h
+++ b/indra/llmessage/llurlrequest.h
@@ -166,6 +166,11 @@ public:
      */
     void useProxy(bool use_proxy);
 
+    /**
+     * @ brief Set the CURLOPT_PROXY header to the given value.
+     */
+	void useProxy(const std::string& proxy);
+
 public:
 	/** 
 	 * @brief Give this pipe a chance to handle a generated error