diff --git a/indra/llcommon/llsdutil.h b/indra/llcommon/llsdutil.h
index 17a881d9cbe042b758695e0921e827bffb649229..9f73222bc399880f58167e69dc134b4d2d52aef8 100644
--- a/indra/llcommon/llsdutil.h
+++ b/indra/llcommon/llsdutil.h
@@ -101,4 +101,16 @@ BOOL compare_llsd_with_template(
 	const LLSD& template_llsd,
 	LLSD& resultant_llsd);
 
+// Simple function to copy data out of input & output iterators if
+// there is no need for casting.
+template<typename Input> LLSD llsd_copy_array(Input iter, Input end)
+{
+	LLSD dest;
+	for (; iter != end; ++iter)
+	{
+		dest.append(*iter);
+	}
+	return dest;
+}
+
 #endif // LL_LLSDUTIL_H
diff --git a/indra/llmessage/llhttpclient.h b/indra/llmessage/llhttpclient.h
index b011761f5f7d2ec8614b9e90f123a7c00a4d20b4..6bc838bfd16fb1326d16c28567425671435b4b4f 100644
--- a/indra/llmessage/llhttpclient.h
+++ b/indra/llmessage/llhttpclient.h
@@ -77,7 +77,12 @@ class LLHTTPClient
 	static void postFile(const std::string& url, const LLUUID& uuid,
 		LLAssetType::EType asset_type, ResponderPtr responder, const F32 timeout=HTTP_REQUEST_EXPIRY_SECS);
 
-	// Blocking HTTP get that returns an LLSD map of status and body.
+	/**
+	 * @brief Blocking HTTP get that returns an LLSD map of status and body.
+	 *
+	 * @param url the complete serialized (and escaped) url to get
+	 * @return An LLSD of { 'status':status, 'body':payload }
+	 */
 	static LLSD blockingGet(const std::string& url);
 
 	static void del(const std::string& url, ResponderPtr, const F32 timeout=HTTP_REQUEST_EXPIRY_SECS);