Ignore duplicate llHTTPResponse calls to the same request. Prevents response corruption. Only the first llHTTPResponse call is obeyed, akin to SL.

avinationmerge
Tom 2011-01-29 12:45:53 -08:00
parent 87ed39c953
commit 188bdfc878
1 changed files with 9 additions and 4 deletions

View File

@ -48,6 +48,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
public string url; public string url;
public UUID urlcode; public UUID urlcode;
public Dictionary<UUID, RequestData> requests; public Dictionary<UUID, RequestData> requests;
public bool responseSent;
} }
public class RequestData public class RequestData
@ -199,10 +200,14 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
if (m_RequestMap.ContainsKey(request)) if (m_RequestMap.ContainsKey(request))
{ {
UrlData urlData = m_RequestMap[request]; UrlData urlData = m_RequestMap[request];
if (!urlData.responseSent)
{
urlData.requests[request].responseCode = status; urlData.requests[request].responseCode = status;
urlData.requests[request].responseBody = body; urlData.requests[request].responseBody = body;
//urlData.requests[request].ev.Set(); //urlData.requests[request].ev.Set();
urlData.requests[request].requestDone = true; urlData.requests[request].requestDone = true;
urlData.responseSent = true;
}
} }
else else
{ {