Ignore duplicate llHTTPResponse calls to the same request. Prevents response corruption. Only the first llHTTPResponse call is obeyed, akin to SL.
parent
87ed39c953
commit
188bdfc878
|
@ -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
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue