From 8f07f2e8b006ef7712318e29a2793f939f2c90b5 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Sat, 20 Dec 2008 15:09:01 +0000 Subject: * A few more fixes to HttpServer. * http://www.codeplex.com/webserver/WorkItem/View.aspx?WorkItemId=3110 fix erronious call to beginread that caused an exception which was caught and ignored (increase performance) * Pass socket into httpclientcontectImp and call the disconnect + reuse method so the socket can be reused quicker (increase performance) * Ensured that in every error scenario beginAccept is called (stability) * Fixed header casing (standards compliance) * Fixed Connection: close handling (standards compliance) --- OpenSim/Framework/Servers/BaseHttpServer.cs | 11 +++++++++-- OpenSim/Framework/Servers/OSHttpResponse.cs | 1 + bin/HttpServer.dll | Bin 139264 -> 155648 bytes 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/OpenSim/Framework/Servers/BaseHttpServer.cs b/OpenSim/Framework/Servers/BaseHttpServer.cs index c182dfc..b3f4f0f 100644 --- a/OpenSim/Framework/Servers/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/BaseHttpServer.cs @@ -222,6 +222,7 @@ namespace OpenSim.Framework.Servers { OSHttpRequest req = new OSHttpRequest(context, request); OSHttpResponse resp = new OSHttpResponse(new HttpServer.HttpResponse(context, request)); + //resp.KeepAlive = req.KeepAlive; //m_log.Info("[Debug BASE HTTP SERVER]: Got Request"); //HttpServerContextObj objstate= new HttpServerContextObj(req,resp); //ThreadPool.QueueUserWorkItem(new WaitCallback(ConvertIHttpClientContextToOSHttp), (object)objstate); @@ -291,7 +292,7 @@ namespace OpenSim.Framework.Servers } IRequestHandler requestHandler; - response.KeepAlive = true; + //response.KeepAlive = true; response.SendChunked = false; string path = request.RawUrl; @@ -1413,7 +1414,9 @@ namespace OpenSim.Framework.Servers public void httpServerException(object source, Exception exception) { + m_log.ErrorFormat("[HTTPSERVER]: {0} had an exception {1}", source.ToString(), exception.ToString()); + /* if (HTTPDRunning)// && NotSocketErrors > 5) { Stop(); @@ -1421,6 +1424,7 @@ namespace OpenSim.Framework.Servers StartHTTP(); m_log.Warn("[HTTPSERVER]: Died. Trying to kick....."); } + */ } public void Stop() @@ -1551,7 +1555,7 @@ namespace OpenSim.Framework.Servers } public class HttpServerLogWriter : HttpServer.ILogWriter { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); public HttpServerLogWriter() { @@ -1559,6 +1563,8 @@ namespace OpenSim.Framework.Servers public void Write(object source, HttpServer.LogPrio priority, string message) { + return; + /* switch (priority) { case HttpServer.LogPrio.Debug: @@ -1580,6 +1586,7 @@ namespace OpenSim.Framework.Servers break; } + */ } } diff --git a/OpenSim/Framework/Servers/OSHttpResponse.cs b/OpenSim/Framework/Servers/OSHttpResponse.cs index 6b20bf3..4947156 100644 --- a/OpenSim/Framework/Servers/OSHttpResponse.cs +++ b/OpenSim/Framework/Servers/OSHttpResponse.cs @@ -298,6 +298,7 @@ namespace OpenSim.Framework.Servers { _httpResponse.Body.Flush(); _httpResponse.Send(); + } } } diff --git a/bin/HttpServer.dll b/bin/HttpServer.dll index c57e023..1a5c7ee 100644 Binary files a/bin/HttpServer.dll and b/bin/HttpServer.dll differ -- cgit v1.1