From 7b2b29d10dbb43794ed93c43bdcf79876f8a8eb7 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Fri, 7 Dec 2018 04:45:32 +0000 Subject: return a proper http error --- .../Framework/Servers/HttpServer/BaseHttpServer.cs | 24 ++++++++++------------ 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'OpenSim/Framework') diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index 5bb3fe2..52a4d92 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs @@ -1390,7 +1390,6 @@ namespace OpenSim.Framework.Servers.HttpServer } } - response.KeepAlive = true; string responseData = string.Empty; responseData = jsonRpcResponse.Serialize(); @@ -1402,6 +1401,8 @@ namespace OpenSim.Framework.Servers.HttpServer private byte[] HandleLLSDRequests(OSHttpRequest request, OSHttpResponse response) { //m_log.Warn("[BASE HTTP SERVER]: We've figured out it's a LLSD Request"); + bool notfound = false; + Stream requestStream = request.InputStream; string requestBody; @@ -1452,13 +1453,20 @@ namespace OpenSim.Framework.Servers.HttpServer else { // Oops, no handler for this.. give em the failed message - llsdResponse = GenerateNoLLSDHandlerResponse(); + notfound = true; } } } else { - llsdResponse = GenerateNoLLSDHandlerResponse(); + notfound = true; + } + + if(notfound) + { + response.StatusCode = (int)HttpStatusCode.NotFound; + response.StatusDescription = "Not found"; + return null; } byte[] buffer = new byte[0]; @@ -1479,7 +1487,6 @@ namespace OpenSim.Framework.Servers.HttpServer response.ContentLength64 = buffer.Length; response.ContentEncoding = Encoding.UTF8; - response.KeepAlive = true; return buffer; } @@ -1684,15 +1691,6 @@ namespace OpenSim.Framework.Servers.HttpServer } } - private OSDMap GenerateNoLLSDHandlerResponse() - { - OSDMap map = new OSDMap(); - map["reason"] = OSD.FromString("LLSDRequest"); - map["message"] = OSD.FromString("No handler registered for LLSD Requests"); - map["login"] = OSD.FromString("false"); - return map; - } - public byte[] HandleHTTPRequest(OSHttpRequest request, OSHttpResponse response) { // m_log.DebugFormat( -- cgit v1.1