* 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!)
This commit is contained in:
Teravus Ovares
2009-07-21 06:47:29 +00:00
parent 156c393a44
commit c243ae43f2
8 changed files with 3957 additions and 5559 deletions

View File

@@ -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();
}