From c243ae43f23be20ec3388ed30e8b7b806ad2a2a7 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Tue, 21 Jul 2009 06:47:29 +0000 Subject: * Updated C# WebServer to the latest available source download (r19869) and applied a few mods from the old version (now up on opensim-libs (VS 3.5 project). * Made various changes to BaseHttpServer to accommodate the new interfaces. * This version has been significantly re-architected and may fail in unusual and insidious ways. * Please pay attention to any errors you get and post a Mantis if you can reproduce an issue with the HTTPServer. I'm including the pdb and having the http server compiled in debug for a few weeks so that when an error occurs, it'll print the pertenant data. * Once again, this is the full C# WebServer, not the lite branch that is included in LibOMV (we need SSL!) --- .../Framework/Servers/HttpServer/BaseHttpServer.cs | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs') diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index ef61200..4532e76 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs @@ -226,6 +226,15 @@ namespace OpenSim.Framework.Servers.HttpServer return true; } + private void OnRequest(object source, RequestEventArgs args) + { + IHttpClientContext context = (IHttpClientContext)source; + IHttpRequest request = args.Request; + + OnHandleRequestIOThread(context,request); + + } + public void OnHandleRequestIOThread(IHttpClientContext context, IHttpRequest request) { OSHttpRequest req = new OSHttpRequest(context, request); @@ -1406,7 +1415,7 @@ namespace OpenSim.Framework.Servers.HttpServer { //m_httpListener.Prefixes.Add("http://+:" + m_port + "/"); //m_httpListener.Prefixes.Add("http://10.1.1.5:" + m_port + "/"); - m_httpListener2 = new CoolHTTPListener(m_listenIPAddress, (int)m_port); + m_httpListener2 = CoolHTTPListener.Create(m_listenIPAddress, (int)m_port); m_httpListener2.ExceptionThrown += httpServerException; m_httpListener2.LogWriter = httpserverlog; @@ -1414,7 +1423,7 @@ namespace OpenSim.Framework.Servers.HttpServer // if you want more detailed trace information from the HttpServer //m_httpListener2.UseTraceLogs = true; - m_httpListener2.DisconnectHandler = httpServerDisconnectMonitor; + //m_httpListener2.DisconnectHandler = httpServerDisconnectMonitor; } else { @@ -1422,7 +1431,7 @@ namespace OpenSim.Framework.Servers.HttpServer //m_httpListener.Prefixes.Add("http://+:" + m_port + "/"); } - m_httpListener2.RequestHandler += OnHandleRequestIOThread; + m_httpListener2.RequestReceived += OnRequest; //m_httpListener.Start(); m_httpListener2.Start(64); HTTPDRunning = true; @@ -1474,10 +1483,10 @@ namespace OpenSim.Framework.Servers.HttpServer { HTTPDRunning = false; m_httpListener2.ExceptionThrown -= httpServerException; - m_httpListener2.DisconnectHandler = null; + //m_httpListener2.DisconnectHandler = null; m_httpListener2.LogWriter = null; - m_httpListener2.RequestHandler -= OnHandleRequestIOThread; + m_httpListener2.RequestReceived -= OnRequest; m_httpListener2.Stop(); } -- cgit v1.1