diff --git a/indra/llcorehttp/_httpoprequest.cpp b/indra/llcorehttp/_httpoprequest.cpp
index 7baef25acadd50f5f051fc363c101cb64762eb84..e588ed8a9b145b5b12d361cfbcdf370a95a26af1 100755
--- a/indra/llcorehttp/_httpoprequest.cpp
+++ b/indra/llcorehttp/_httpoprequest.cpp
@@ -281,8 +281,8 @@ HttpStatus HttpOpRequest::cancel()
 HttpStatus HttpOpRequest::setupGet(HttpRequest::policy_t policy_id,
 								   HttpRequest::priority_t priority,
 								   const std::string & url,
-                                   HttpOptions::ptr_t & options,
-								   HttpHeaders::ptr_t & headers)
+                                   const HttpOptions::ptr_t & options,
+								   const HttpHeaders::ptr_t & headers)
 {
 	setupCommon(policy_id, priority, url, NULL, options, headers);
 	mReqMethod = HOR_GET;
@@ -296,8 +296,8 @@ HttpStatus HttpOpRequest::setupGetByteRange(HttpRequest::policy_t policy_id,
 											const std::string & url,
 											size_t offset,
 											size_t len,
-                                            HttpOptions::ptr_t & options,
-                                            HttpHeaders::ptr_t & headers)
+                                            const HttpOptions::ptr_t & options,
+                                            const HttpHeaders::ptr_t & headers)
 {
 	setupCommon(policy_id, priority, url, NULL, options, headers);
 	mReqMethod = HOR_GET;
@@ -316,8 +316,8 @@ HttpStatus HttpOpRequest::setupPost(HttpRequest::policy_t policy_id,
 									HttpRequest::priority_t priority,
 									const std::string & url,
 									BufferArray * body,
-                                    HttpOptions::ptr_t & options,
-                                    HttpHeaders::ptr_t & headers)
+                                    const HttpOptions::ptr_t & options,
+                                    const HttpHeaders::ptr_t & headers)
 {
 	setupCommon(policy_id, priority, url, body, options, headers);
 	mReqMethod = HOR_POST;
@@ -330,8 +330,8 @@ HttpStatus HttpOpRequest::setupPut(HttpRequest::policy_t policy_id,
 								   HttpRequest::priority_t priority,
 								   const std::string & url,
 								   BufferArray * body,
-                                   HttpOptions::ptr_t & options,
-								   HttpHeaders::ptr_t & headers)
+                                   const HttpOptions::ptr_t & options,
+								   const HttpHeaders::ptr_t & headers)
 {
 	setupCommon(policy_id, priority, url, body, options, headers);
 	mReqMethod = HOR_PUT;
@@ -343,8 +343,8 @@ HttpStatus HttpOpRequest::setupPut(HttpRequest::policy_t policy_id,
 HttpStatus HttpOpRequest::setupDelete(HttpRequest::policy_t policy_id,
     HttpRequest::priority_t priority,
     const std::string & url,
-    HttpOptions::ptr_t & options,
-    HttpHeaders::ptr_t & headers)
+    const HttpOptions::ptr_t & options,
+    const HttpHeaders::ptr_t & headers)
 {
     setupCommon(policy_id, priority, url, NULL, options, headers);
     mReqMethod = HOR_DELETE;
@@ -357,8 +357,8 @@ HttpStatus HttpOpRequest::setupPatch(HttpRequest::policy_t policy_id,
     HttpRequest::priority_t priority,
     const std::string & url,
     BufferArray * body,
-    HttpOptions::ptr_t & options,
-    HttpHeaders::ptr_t & headers)
+    const HttpOptions::ptr_t & options,
+    const HttpHeaders::ptr_t & headers)
 {
     setupCommon(policy_id, priority, url, body, options, headers);
     mReqMethod = HOR_PATCH;
@@ -370,8 +370,8 @@ HttpStatus HttpOpRequest::setupPatch(HttpRequest::policy_t policy_id,
 HttpStatus HttpOpRequest::setupCopy(HttpRequest::policy_t policy_id,
     HttpRequest::priority_t priority,
     const std::string & url,
-    HttpOptions::ptr_t & options,
-    HttpHeaders::ptr_t &headers)
+    const HttpOptions::ptr_t & options,
+    const HttpHeaders::ptr_t &headers)
 {
     setupCommon(policy_id, priority, url, NULL, options, headers);
     mReqMethod = HOR_COPY;
@@ -384,8 +384,8 @@ void HttpOpRequest::setupCommon(HttpRequest::policy_t policy_id,
 								HttpRequest::priority_t priority,
 								const std::string & url,
 								BufferArray * body,
-                                HttpOptions::ptr_t & options,
-								HttpHeaders::ptr_t & headers)
+                                const HttpOptions::ptr_t & options,
+								const HttpHeaders::ptr_t & headers)
 {
 	mProcFlags = 0U;
 	mReqPolicy = policy_id;
diff --git a/indra/llcorehttp/_httpoprequest.h b/indra/llcorehttp/_httpoprequest.h
index 42db71e7a03e1cb2d54213924c70510ebc0a4f8a..a9083be02b4a1c9bcc060fd28acc25921ae00e72 100755
--- a/indra/llcorehttp/_httpoprequest.h
+++ b/indra/llcorehttp/_httpoprequest.h
@@ -104,49 +104,49 @@ class HttpOpRequest : public HttpOperation
 	HttpStatus setupGet(HttpRequest::policy_t policy_id,
 						HttpRequest::priority_t priority,
 						const std::string & url,
-						HttpOptions::ptr_t & options,
-						HttpHeaders::ptr_t & headers);
+						const HttpOptions::ptr_t & options,
+						const HttpHeaders::ptr_t & headers);
 	
 	HttpStatus setupGetByteRange(HttpRequest::policy_t policy_id,
 								 HttpRequest::priority_t priority,
 								 const std::string & url,
 								 size_t offset,
 								 size_t len,
-                                 HttpOptions::ptr_t & options,
-								 HttpHeaders::ptr_t & headers);
+                                 const HttpOptions::ptr_t & options,
+								 const HttpHeaders::ptr_t & headers);
 	
 	HttpStatus setupPost(HttpRequest::policy_t policy_id,
 						 HttpRequest::priority_t priority,
 						 const std::string & url,
 						 BufferArray * body,
-                         HttpOptions::ptr_t & options,
-						 HttpHeaders::ptr_t & headers);
+                         const HttpOptions::ptr_t & options,
+						 const HttpHeaders::ptr_t & headers);
 	
 	HttpStatus setupPut(HttpRequest::policy_t policy_id,
 						HttpRequest::priority_t priority,
 						const std::string & url,
 						BufferArray * body,
-                        HttpOptions::ptr_t & options,
-						HttpHeaders::ptr_t & headers);
+                        const HttpOptions::ptr_t & options,
+						const HttpHeaders::ptr_t & headers);
 
     HttpStatus setupDelete(HttpRequest::policy_t policy_id,
                         HttpRequest::priority_t priority,
                         const std::string & url,
-                        HttpOptions::ptr_t & options,
-                        HttpHeaders::ptr_t & headers);
+                        const HttpOptions::ptr_t & options,
+                        const HttpHeaders::ptr_t & headers);
 
     HttpStatus setupPatch(HttpRequest::policy_t policy_id,
                         HttpRequest::priority_t priority,
                         const std::string & url,
                         BufferArray * body,
-                        HttpOptions::ptr_t & options,
-                        HttpHeaders::ptr_t & headers);
+                        const HttpOptions::ptr_t & options,
+                        const HttpHeaders::ptr_t & headers);
 
     HttpStatus setupCopy(HttpRequest::policy_t policy_id,
                         HttpRequest::priority_t priority,
                         const std::string & url,
-                        HttpOptions::ptr_t & options,
-                        HttpHeaders::ptr_t & headers);
+                        const HttpOptions::ptr_t & options,
+                        const HttpHeaders::ptr_t & headers);
 
     // Internal method used to setup the libcurl options for a request.
 	// Does all the libcurl handle setup in one place.
@@ -166,8 +166,8 @@ class HttpOpRequest : public HttpOperation
 					 HttpRequest::priority_t priority,
 					 const std::string & url,
 					 BufferArray * body,
-                     HttpOptions::ptr_t & options,
-					 HttpHeaders::ptr_t & headers);
+                     const HttpOptions::ptr_t & options,
+					 const HttpHeaders::ptr_t & headers);
 
 	// libcurl operational callbacks
 	//
diff --git a/indra/llcorehttp/httprequest.cpp b/indra/llcorehttp/httprequest.cpp
index 4a7352c9626e68e1afa7c925d823d8eedd906f42..f0dfde6153c5ef04ca7d9d02dd16988e4f66c16e 100755
--- a/indra/llcorehttp/httprequest.cpp
+++ b/indra/llcorehttp/httprequest.cpp
@@ -197,8 +197,8 @@ HttpStatus HttpRequest::getStatus() const
 HttpHandle HttpRequest::requestGet(policy_t policy_id,
 								   priority_t priority,
 								   const std::string & url,
-                                   HttpOptions::ptr_t & options,
-								   HttpHeaders::ptr_t & headers,
+                                   const HttpOptions::ptr_t & options,
+								   const HttpHeaders::ptr_t & headers,
 								   HttpHandler * user_handler)
 {
 	HttpStatus status;
@@ -231,8 +231,8 @@ HttpHandle HttpRequest::requestGetByteRange(policy_t policy_id,
 											const std::string & url,
 											size_t offset,
 											size_t len,
-                                            HttpOptions::ptr_t & options,
-											HttpHeaders::ptr_t & headers,
+                                            const HttpOptions::ptr_t & options,
+											const HttpHeaders::ptr_t & headers,
 											HttpHandler * user_handler)
 {
 	HttpStatus status;
@@ -264,8 +264,8 @@ HttpHandle HttpRequest::requestPost(policy_t policy_id,
 									priority_t priority,
 									const std::string & url,
 									BufferArray * body,
-                                    HttpOptions::ptr_t & options,
-									HttpHeaders::ptr_t & headers,
+                                    const HttpOptions::ptr_t & options,
+									const HttpHeaders::ptr_t & headers,
 									HttpHandler * user_handler)
 {
 	HttpStatus status;
@@ -297,8 +297,8 @@ HttpHandle HttpRequest::requestPut(policy_t policy_id,
 								   priority_t priority,
 								   const std::string & url,
 								   BufferArray * body,
-                                   HttpOptions::ptr_t & options,
-								   HttpHeaders::ptr_t & headers,
+                                   const HttpOptions::ptr_t & options,
+								   const HttpHeaders::ptr_t & headers,
 								   HttpHandler * user_handler)
 {
 	HttpStatus status;
@@ -328,8 +328,8 @@ HttpHandle HttpRequest::requestPut(policy_t policy_id,
 HttpHandle HttpRequest::requestDelete(policy_t policy_id,
     priority_t priority,
     const std::string & url,
-    HttpOptions::ptr_t & options,
-    HttpHeaders::ptr_t & headers,
+    const HttpOptions::ptr_t & options,
+    const HttpHeaders::ptr_t & headers,
     HttpHandler * user_handler)
 {
     HttpStatus status;
@@ -360,8 +360,8 @@ HttpHandle HttpRequest::requestPatch(policy_t policy_id,
     priority_t priority,
     const std::string & url,
     BufferArray * body,
-    HttpOptions::ptr_t & options,
-    HttpHeaders::ptr_t & headers,
+    const HttpOptions::ptr_t & options,
+    const HttpHeaders::ptr_t & headers,
     HttpHandler * user_handler)
 {
     HttpStatus status;
@@ -391,8 +391,8 @@ HttpHandle HttpRequest::requestPatch(policy_t policy_id,
 HttpHandle HttpRequest::requestCopy(policy_t policy_id,
     priority_t priority,
     const std::string & url,
-    HttpOptions::ptr_t & options,
-    HttpHeaders::ptr_t & headers,
+    const HttpOptions::ptr_t & options,
+    const HttpHeaders::ptr_t & headers,
     HttpHandler * user_handler)
 {
     HttpStatus status;
diff --git a/indra/llcorehttp/httprequest.h b/indra/llcorehttp/httprequest.h
index 58aea1444c145dd08667a46749b33dee8d5ca3e9..20a223c48266feafc90e5fb2f0a60e9b956e6bcb 100755
--- a/indra/llcorehttp/httprequest.h
+++ b/indra/llcorehttp/httprequest.h
@@ -348,8 +348,8 @@ class HttpRequest
 	HttpHandle requestGet(policy_t policy_id,
 						  priority_t priority,
 						  const std::string & url,
-                          HttpOptions::ptr_t & options,
-						  HttpHeaders::ptr_t & headers,
+                          const HttpOptions::ptr_t & options,
+						  const HttpHeaders::ptr_t & headers,
 						  HttpHandler * handler);
 
 
@@ -391,8 +391,8 @@ class HttpRequest
 								   const std::string & url,
 								   size_t offset,
 								   size_t len,
-                                   HttpOptions::ptr_t & options,
-								   HttpHeaders::ptr_t & headers,
+                                   const HttpOptions::ptr_t & options,
+								   const HttpHeaders::ptr_t & headers,
 								   HttpHandler * handler);
 
 
@@ -432,8 +432,8 @@ class HttpRequest
 						   priority_t priority,
 						   const std::string & url,
 						   BufferArray * body,
-                           HttpOptions::ptr_t & options,
-						   HttpHeaders::ptr_t & headers,
+                           const HttpOptions::ptr_t & options,
+						   const HttpHeaders::ptr_t & headers,
 						   HttpHandler * handler);
 
 
@@ -473,8 +473,8 @@ class HttpRequest
 						  priority_t priority,
 						  const std::string & url,
 						  BufferArray * body,
-                          HttpOptions::ptr_t & options,
-						  HttpHeaders::ptr_t & headers,
+                          const HttpOptions::ptr_t & options,
+						  const HttpHeaders::ptr_t & headers,
 						  HttpHandler * handler);
 
 
@@ -493,8 +493,8 @@ class HttpRequest
     HttpHandle requestDelete(policy_t policy_id,
             priority_t priority,
             const std::string & url,
-            HttpOptions::ptr_t & options,
-            HttpHeaders::ptr_t & headers,
+            const HttpOptions::ptr_t & options,
+            const HttpHeaders::ptr_t & headers,
             HttpHandler * user_handler);
 
     /// Queue a full HTTP PUT.  Query arguments and body may
@@ -516,8 +516,8 @@ class HttpRequest
             priority_t priority,
             const std::string & url,
             BufferArray * body,
-            HttpOptions::ptr_t & options,
-            HttpHeaders::ptr_t & headers,
+            const HttpOptions::ptr_t & options,
+            const HttpHeaders::ptr_t & headers,
             HttpHandler * user_handler);
 
     /// Queue a full HTTP PUT.  Query arguments and body may
@@ -535,8 +535,8 @@ class HttpRequest
     HttpHandle requestCopy(policy_t policy_id,
             priority_t priority,
             const std::string & url,
-            HttpOptions::ptr_t & options,
-            HttpHeaders::ptr_t & headers,
+            const HttpOptions::ptr_t & options,
+            const HttpHeaders::ptr_t & headers,
             HttpHandler * user_handler);
        
     /// Queue a NoOp request.
diff --git a/indra/llmessage/llcorehttputil.cpp b/indra/llmessage/llcorehttputil.cpp
index 5b5929383afa3751085e58076b6d2b38e73a0e91..a2004db30a53e737d0bc801c045455906709b354 100644
--- a/indra/llmessage/llcorehttputil.cpp
+++ b/indra/llmessage/llcorehttputil.cpp
@@ -102,8 +102,8 @@ HttpHandle requestPostWithLLSD(HttpRequest * request,
     HttpRequest::priority_t priority,
     const std::string & url,
     const LLSD & body,
-    HttpOptions::ptr_t options,
-    HttpHeaders::ptr_t headers,
+    const HttpOptions::ptr_t &options,
+    const HttpHeaders::ptr_t &headers,
     HttpHandler * handler)
 {
     HttpHandle handle(LLCORE_HTTP_HANDLE_INVALID);
@@ -129,8 +129,8 @@ HttpHandle requestPutWithLLSD(HttpRequest * request,
     HttpRequest::priority_t priority,
     const std::string & url,
     const LLSD & body,
-    HttpOptions::ptr_t options,
-    HttpHeaders::ptr_t headers,
+    const HttpOptions::ptr_t &options,
+    const HttpHeaders::ptr_t &headers,
     HttpHandler * handler)
 {
     HttpHandle handle(LLCORE_HTTP_HANDLE_INVALID);
@@ -155,8 +155,8 @@ HttpHandle requestPatchWithLLSD(HttpRequest * request,
     HttpRequest::priority_t priority,
     const std::string & url,
     const LLSD & body,
-    HttpOptions::ptr_t options,
-    HttpHeaders::ptr_t headers,
+    const HttpOptions::ptr_t &options,
+    const HttpHeaders::ptr_t &headers,
     HttpHandler * handler)
 {
     HttpHandle handle(LLCORE_HTTP_HANDLE_INVALID);
diff --git a/indra/llmessage/llcorehttputil.h b/indra/llmessage/llcorehttputil.h
index 3dd13d0a0cd49153dfdb019240a79855567b75b2..6d8f333c72be0403e368c4c43229e82f999db1a7 100644
--- a/indra/llmessage/llcorehttputil.h
+++ b/indra/llmessage/llcorehttputil.h
@@ -107,21 +107,21 @@ std::string responseToString(LLCore::HttpResponse * response);
 ///						a now-useless HttpHandler object.
 ///
 LLCore::HttpHandle requestPostWithLLSD(LLCore::HttpRequest * request,
-									   LLCore::HttpRequest::policy_t policy_id,
-									   LLCore::HttpRequest::priority_t priority,
-									   const std::string & url,
-									   const LLSD & body,
-                                       LLCore::HttpOptions::ptr_t options,
-									   LLCore::HttpHeaders::ptr_t headers,
-									   LLCore::HttpHandler * handler);
+    LLCore::HttpRequest::policy_t policy_id,
+    LLCore::HttpRequest::priority_t priority,
+    const std::string & url,
+    const LLSD & body,
+    const LLCore::HttpOptions::ptr_t &options,
+    const LLCore::HttpHeaders::ptr_t &headers,
+    LLCore::HttpHandler * handler);
 
 inline LLCore::HttpHandle requestPostWithLLSD(LLCore::HttpRequest::ptr_t & request,
 	LLCore::HttpRequest::policy_t policy_id,
 	LLCore::HttpRequest::priority_t priority,
 	const std::string & url,
 	const LLSD & body,
-	LLCore::HttpOptions::ptr_t & options,
-	LLCore::HttpHeaders::ptr_t & headers,
+	const LLCore::HttpOptions::ptr_t & options,
+	const LLCore::HttpHeaders::ptr_t & headers,
 	LLCore::HttpHandler * handler)
 {
     return requestPostWithLLSD(request.get(), policy_id, priority,
@@ -164,8 +164,8 @@ LLCore::HttpHandle requestPutWithLLSD(LLCore::HttpRequest * request,
 	LLCore::HttpRequest::priority_t priority,
 	const std::string & url,
 	const LLSD & body,
-	LLCore::HttpOptions::ptr_t options,
-	LLCore::HttpHeaders::ptr_t headers,
+	const LLCore::HttpOptions::ptr_t &options,
+	const LLCore::HttpHeaders::ptr_t &headers,
 	LLCore::HttpHandler * handler);
 
 inline LLCore::HttpHandle requestPutWithLLSD(LLCore::HttpRequest::ptr_t & request,
@@ -173,8 +173,8 @@ inline LLCore::HttpHandle requestPutWithLLSD(LLCore::HttpRequest::ptr_t & reques
 	LLCore::HttpRequest::priority_t priority,
 	const std::string & url,
 	const LLSD & body,
-	LLCore::HttpOptions::ptr_t & options,
-	LLCore::HttpHeaders::ptr_t & headers,
+	const LLCore::HttpOptions::ptr_t & options,
+	const LLCore::HttpHeaders::ptr_t & headers,
 	LLCore::HttpHandler * handler)
 {
     return requestPutWithLLSD(request.get(), policy_id, priority,
@@ -216,8 +216,8 @@ LLCore::HttpHandle requestPatchWithLLSD(LLCore::HttpRequest * request,
     LLCore::HttpRequest::priority_t priority,
     const std::string & url,
     const LLSD & body,
-    LLCore::HttpOptions::ptr_t options,
-    LLCore::HttpHeaders::ptr_t headers,
+    const LLCore::HttpOptions::ptr_t &options,
+    const LLCore::HttpHeaders::ptr_t &headers,
     LLCore::HttpHandler * handler);
 
 inline LLCore::HttpHandle requestPatchWithLLSD(LLCore::HttpRequest::ptr_t & request,
@@ -225,8 +225,8 @@ inline LLCore::HttpHandle requestPatchWithLLSD(LLCore::HttpRequest::ptr_t & requ
     LLCore::HttpRequest::priority_t priority,
     const std::string & url,
     const LLSD & body,
-    LLCore::HttpOptions::ptr_t & options,
-    LLCore::HttpHeaders::ptr_t & headers,
+    const LLCore::HttpOptions::ptr_t & options,
+    const LLCore::HttpHeaders::ptr_t & headers,
     LLCore::HttpHandler * handler)
 {
     return requestPatchWithLLSD(request.get(), policy_id, priority,