diff options
author | Charles Krinke | 2008-07-14 13:51:54 +0000 |
---|---|---|
committer | Charles Krinke | 2008-07-14 13:51:54 +0000 |
commit | 00791594ad4ed6d78bd6edbb2e02eaaf5c30c8ce (patch) | |
tree | 17bf6ae0214a3b83835874bdd9723e6e285cfdfa /OpenSim/Region/Environment | |
parent | fixing warning in IRCBridgeModule and logging the exception cause now. (diff) | |
download | opensim-SC-00791594ad4ed6d78bd6edbb2e02eaaf5c30c8ce.zip opensim-SC-00791594ad4ed6d78bd6edbb2e02eaaf5c30c8ce.tar.gz opensim-SC-00791594ad4ed6d78bd6edbb2e02eaaf5c30c8ce.tar.bz2 opensim-SC-00791594ad4ed6d78bd6edbb2e02eaaf5c30c8ce.tar.xz |
Mantis#1739. Thank you kindly, Grumly57 for a patch that:
Implements X-SecondLife-* HTTP Headers for llHTTPRequest
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r-- | OpenSim/Region/Environment/Interfaces/IHttpRequests.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Modules/Scripting/HttpRequest/ScriptsHttpRequests.cs | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Interfaces/IHttpRequests.cs b/OpenSim/Region/Environment/Interfaces/IHttpRequests.cs index 46ba9b2..3a635de 100644 --- a/OpenSim/Region/Environment/Interfaces/IHttpRequests.cs +++ b/OpenSim/Region/Environment/Interfaces/IHttpRequests.cs | |||
@@ -34,7 +34,7 @@ namespace OpenSim.Region.Environment.Interfaces | |||
34 | public interface IHttpRequests | 34 | public interface IHttpRequests |
35 | { | 35 | { |
36 | LLUUID MakeHttpRequest(string url, string parameters, string body); | 36 | LLUUID MakeHttpRequest(string url, string parameters, string body); |
37 | LLUUID StartHttpRequest(uint localID, LLUUID itemID, string url, List<string> parameters, string body); | 37 | LLUUID StartHttpRequest(uint localID, LLUUID itemID, string url, List<string> parameters, Dictionary<string, string> headers, string body); |
38 | void StopHttpRequest(uint m_localID, LLUUID m_itemID); | 38 | void StopHttpRequest(uint m_localID, LLUUID m_itemID); |
39 | HttpRequestClass GetNextCompletedRequest(); | 39 | HttpRequestClass GetNextCompletedRequest(); |
40 | void RemoveCompletedRequest(LLUUID id); | 40 | void RemoveCompletedRequest(LLUUID id); |
diff --git a/OpenSim/Region/Environment/Modules/Scripting/HttpRequest/ScriptsHttpRequests.cs b/OpenSim/Region/Environment/Modules/Scripting/HttpRequest/ScriptsHttpRequests.cs index 6e32362..c670ad7 100644 --- a/OpenSim/Region/Environment/Modules/Scripting/HttpRequest/ScriptsHttpRequests.cs +++ b/OpenSim/Region/Environment/Modules/Scripting/HttpRequest/ScriptsHttpRequests.cs | |||
@@ -37,6 +37,7 @@ using OpenSim.Framework; | |||
37 | using OpenSim.Framework.Servers; | 37 | using OpenSim.Framework.Servers; |
38 | using OpenSim.Region.Environment.Interfaces; | 38 | using OpenSim.Region.Environment.Interfaces; |
39 | using OpenSim.Region.Environment.Scenes; | 39 | using OpenSim.Region.Environment.Scenes; |
40 | using System.Collections; | ||
40 | 41 | ||
41 | /***************************************************** | 42 | /***************************************************** |
42 | * | 43 | * |
@@ -105,7 +106,7 @@ namespace OpenSim.Region.Environment.Modules.Scripting.HttpRequest | |||
105 | return LLUUID.Zero; | 106 | return LLUUID.Zero; |
106 | } | 107 | } |
107 | 108 | ||
108 | public LLUUID StartHttpRequest(uint localID, LLUUID itemID, string url, List<string> parameters, string body) | 109 | public LLUUID StartHttpRequest(uint localID, LLUUID itemID, string url, List<string> parameters, Dictionary<string, string> headers, string body) |
109 | { | 110 | { |
110 | LLUUID reqID = LLUUID.Random(); | 111 | LLUUID reqID = LLUUID.Random(); |
111 | HttpRequestClass htc = new HttpRequestClass(); | 112 | HttpRequestClass htc = new HttpRequestClass(); |
@@ -150,6 +151,7 @@ namespace OpenSim.Region.Environment.Modules.Scripting.HttpRequest | |||
150 | htc.reqID = reqID; | 151 | htc.reqID = reqID; |
151 | htc.httpTimeout = httpTimeout; | 152 | htc.httpTimeout = httpTimeout; |
152 | htc.outbound_body = body; | 153 | htc.outbound_body = body; |
154 | htc.response_headers = headers; | ||
153 | 155 | ||
154 | lock (HttpListLock) | 156 | lock (HttpListLock) |
155 | { | 157 | { |
@@ -280,6 +282,7 @@ namespace OpenSim.Region.Environment.Modules.Scripting.HttpRequest | |||
280 | public HttpWebRequest request; | 282 | public HttpWebRequest request; |
281 | public string response_body; | 283 | public string response_body; |
282 | public List<string> response_metadata; | 284 | public List<string> response_metadata; |
285 | public Dictionary<string, string> response_headers; | ||
283 | public int status; | 286 | public int status; |
284 | public string url; | 287 | public string url; |
285 | 288 | ||
@@ -314,6 +317,9 @@ namespace OpenSim.Region.Environment.Modules.Scripting.HttpRequest | |||
314 | request.Method = httpMethod; | 317 | request.Method = httpMethod; |
315 | request.ContentType = httpMIMEType; | 318 | request.ContentType = httpMIMEType; |
316 | 319 | ||
320 | foreach (KeyValuePair<string, string> entry in response_headers) | ||
321 | request.Headers[entry.Key] = entry.Value; | ||
322 | |||
317 | // Encode outbound data | 323 | // Encode outbound data |
318 | if (outbound_body.Length > 0) { | 324 | if (outbound_body.Length > 0) { |
319 | byte[] data = Encoding.UTF8.GetBytes(outbound_body); | 325 | byte[] data = Encoding.UTF8.GetBytes(outbound_body); |