diff options
Diffstat (limited to 'OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs')
-rw-r--r-- | OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs | 121 |
1 files changed, 59 insertions, 62 deletions
diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index d20f8c9..452df38 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs | |||
@@ -51,7 +51,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
51 | { | 51 | { |
52 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 52 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
53 | private HttpServerLogWriter httpserverlog = new HttpServerLogWriter(); | 53 | private HttpServerLogWriter httpserverlog = new HttpServerLogWriter(); |
54 | 54 | ||
55 | private volatile int NotSocketErrors = 0; | 55 | private volatile int NotSocketErrors = 0; |
56 | public volatile bool HTTPDRunning = false; | 56 | public volatile bool HTTPDRunning = false; |
57 | 57 | ||
@@ -160,7 +160,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
160 | m_rpcHandlers[method] = handler; | 160 | m_rpcHandlers[method] = handler; |
161 | m_rpcHandlersKeepAlive[method] = keepAlive; // default | 161 | m_rpcHandlersKeepAlive[method] = keepAlive; // default |
162 | } | 162 | } |
163 | 163 | ||
164 | return true; | 164 | return true; |
165 | } | 165 | } |
166 | 166 | ||
@@ -182,7 +182,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
182 | public bool AddHTTPHandler(string methodName, GenericHTTPMethod handler) | 182 | public bool AddHTTPHandler(string methodName, GenericHTTPMethod handler) |
183 | { | 183 | { |
184 | //m_log.DebugFormat("[BASE HTTP SERVER]: Registering {0}", methodName); | 184 | //m_log.DebugFormat("[BASE HTTP SERVER]: Registering {0}", methodName); |
185 | 185 | ||
186 | lock (m_HTTPHandlers) | 186 | lock (m_HTTPHandlers) |
187 | { | 187 | { |
188 | if (!m_HTTPHandlers.ContainsKey(methodName)) | 188 | if (!m_HTTPHandlers.ContainsKey(methodName)) |
@@ -204,14 +204,14 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
204 | if (!m_pollHandlers.ContainsKey(methodName)) | 204 | if (!m_pollHandlers.ContainsKey(methodName)) |
205 | { | 205 | { |
206 | m_pollHandlers.Add(methodName,args); | 206 | m_pollHandlers.Add(methodName,args); |
207 | pollHandlerResult = true; | 207 | pollHandlerResult = true; |
208 | } | 208 | } |
209 | } | 209 | } |
210 | 210 | ||
211 | if (pollHandlerResult) | 211 | if (pollHandlerResult) |
212 | return AddHTTPHandler(methodName, handler); | 212 | return AddHTTPHandler(methodName, handler); |
213 | 213 | ||
214 | return false; | 214 | return false; |
215 | } | 215 | } |
216 | 216 | ||
217 | // Note that the agent string is provided simply to differentiate | 217 | // Note that the agent string is provided simply to differentiate |
@@ -257,51 +257,51 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
257 | { | 257 | { |
258 | IHttpClientContext context = (IHttpClientContext)source; | 258 | IHttpClientContext context = (IHttpClientContext)source; |
259 | IHttpRequest request = args.Request; | 259 | IHttpRequest request = args.Request; |
260 | 260 | ||
261 | PollServiceEventArgs psEvArgs; | 261 | PollServiceEventArgs psEvArgs; |
262 | 262 | ||
263 | if (TryGetPollServiceHTTPHandler(request.UriPath.ToString(), out psEvArgs)) | 263 | if (TryGetPollServiceHTTPHandler(request.UriPath.ToString(), out psEvArgs)) |
264 | { | 264 | { |
265 | PollServiceHttpRequest psreq = new PollServiceHttpRequest(psEvArgs, context, request); | 265 | PollServiceHttpRequest psreq = new PollServiceHttpRequest(psEvArgs, context, request); |
266 | 266 | ||
267 | if (psEvArgs.Request != null) | 267 | if (psEvArgs.Request != null) |
268 | { | 268 | { |
269 | OSHttpRequest req = new OSHttpRequest(context, request); | 269 | OSHttpRequest req = new OSHttpRequest(context, request); |
270 | 270 | ||
271 | Stream requestStream = req.InputStream; | 271 | Stream requestStream = req.InputStream; |
272 | 272 | ||
273 | Encoding encoding = Encoding.UTF8; | 273 | Encoding encoding = Encoding.UTF8; |
274 | StreamReader reader = new StreamReader(requestStream, encoding); | 274 | StreamReader reader = new StreamReader(requestStream, encoding); |
275 | 275 | ||
276 | string requestBody = reader.ReadToEnd(); | 276 | string requestBody = reader.ReadToEnd(); |
277 | 277 | ||
278 | Hashtable keysvals = new Hashtable(); | 278 | Hashtable keysvals = new Hashtable(); |
279 | Hashtable headervals = new Hashtable(); | 279 | Hashtable headervals = new Hashtable(); |
280 | 280 | ||
281 | string[] querystringkeys = req.QueryString.AllKeys; | 281 | string[] querystringkeys = req.QueryString.AllKeys; |
282 | string[] rHeaders = req.Headers.AllKeys; | 282 | string[] rHeaders = req.Headers.AllKeys; |
283 | 283 | ||
284 | keysvals.Add("body", requestBody); | 284 | keysvals.Add("body", requestBody); |
285 | keysvals.Add("uri", req.RawUrl); | 285 | keysvals.Add("uri", req.RawUrl); |
286 | keysvals.Add("content-type", req.ContentType); | 286 | keysvals.Add("content-type", req.ContentType); |
287 | keysvals.Add("http-method", req.HttpMethod); | 287 | keysvals.Add("http-method", req.HttpMethod); |
288 | 288 | ||
289 | foreach (string queryname in querystringkeys) | 289 | foreach (string queryname in querystringkeys) |
290 | { | 290 | { |
291 | keysvals.Add(queryname, req.QueryString[queryname]); | 291 | keysvals.Add(queryname, req.QueryString[queryname]); |
292 | } | 292 | } |
293 | 293 | ||
294 | foreach (string headername in rHeaders) | 294 | foreach (string headername in rHeaders) |
295 | { | 295 | { |
296 | headervals[headername] = req.Headers[headername]; | 296 | headervals[headername] = req.Headers[headername]; |
297 | } | 297 | } |
298 | 298 | ||
299 | keysvals.Add("headers", headervals); | 299 | keysvals.Add("headers", headervals); |
300 | keysvals.Add("querystringkeys", querystringkeys); | 300 | keysvals.Add("querystringkeys", querystringkeys); |
301 | 301 | ||
302 | psEvArgs.Request(psreq.RequestID, keysvals); | 302 | psEvArgs.Request(psreq.RequestID, keysvals); |
303 | } | 303 | } |
304 | 304 | ||
305 | m_PollServiceManager.Enqueue(psreq); | 305 | m_PollServiceManager.Enqueue(psreq); |
306 | } | 306 | } |
307 | else | 307 | else |
@@ -348,10 +348,10 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
348 | { | 348 | { |
349 | try | 349 | try |
350 | { | 350 | { |
351 | // m_log.Debug("[BASE HTTP SERVER]: Handling request to " + request.RawUrl); | 351 | // m_log.Debug("[BASE HTTP SERVER]: Handling request to " + request.RawUrl); |
352 | 352 | ||
353 | Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US", true); | 353 | Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US", true); |
354 | 354 | ||
355 | // This is the REST agent interface. We require an agent to properly identify | 355 | // This is the REST agent interface. We require an agent to properly identify |
356 | // itself. If the REST handler recognizes the prefix it will attempt to | 356 | // itself. If the REST handler recognizes the prefix it will attempt to |
357 | // satisfy the request. If it is not recognizable, and no damage has occurred | 357 | // satisfy the request. If it is not recognizable, and no damage has occurred |
@@ -456,7 +456,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
456 | } | 456 | } |
457 | 457 | ||
458 | request.InputStream.Close(); | 458 | request.InputStream.Close(); |
459 | 459 | ||
460 | // HTTP IN support. The script engine taes it from here | 460 | // HTTP IN support. The script engine taes it from here |
461 | // Nothing to worry about for us. | 461 | // Nothing to worry about for us. |
462 | // | 462 | // |
@@ -540,7 +540,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
540 | HandleLLSDRequests(request, response); | 540 | HandleLLSDRequests(request, response); |
541 | return; | 541 | return; |
542 | } | 542 | } |
543 | 543 | ||
544 | // m_log.DebugFormat("[BASE HTTP SERVER]: Checking for HTTP Handler for request {0}", request.RawUrl); | 544 | // m_log.DebugFormat("[BASE HTTP SERVER]: Checking for HTTP Handler for request {0}", request.RawUrl); |
545 | if (DoWeHaveAHTTPHandler(request.RawUrl)) | 545 | if (DoWeHaveAHTTPHandler(request.RawUrl)) |
546 | { | 546 | { |
@@ -594,7 +594,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
594 | } | 594 | } |
595 | } | 595 | } |
596 | } | 596 | } |
597 | 597 | ||
598 | if (String.IsNullOrEmpty(bestMatch)) | 598 | if (String.IsNullOrEmpty(bestMatch)) |
599 | { | 599 | { |
600 | streamHandler = null; | 600 | streamHandler = null; |
@@ -641,7 +641,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
641 | private bool TryGetHTTPHandler(string handlerKey, out GenericHTTPMethod HTTPHandler) | 641 | private bool TryGetHTTPHandler(string handlerKey, out GenericHTTPMethod HTTPHandler) |
642 | { | 642 | { |
643 | // m_log.DebugFormat("[BASE HTTP HANDLER]: Looking for HTTP handler for {0}", handlerKey); | 643 | // m_log.DebugFormat("[BASE HTTP HANDLER]: Looking for HTTP handler for {0}", handlerKey); |
644 | 644 | ||
645 | string bestMatch = null; | 645 | string bestMatch = null; |
646 | 646 | ||
647 | lock (m_HTTPHandlers) | 647 | lock (m_HTTPHandlers) |
@@ -727,14 +727,14 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
727 | { | 727 | { |
728 | xmlRprcRequest.Params.Add(request.RemoteIPEndPoint); // Param[1] | 728 | xmlRprcRequest.Params.Add(request.RemoteIPEndPoint); // Param[1] |
729 | XmlRpcResponse xmlRpcResponse; | 729 | XmlRpcResponse xmlRpcResponse; |
730 | 730 | ||
731 | XmlRpcMethod method; | 731 | XmlRpcMethod method; |
732 | bool methodWasFound; | 732 | bool methodWasFound; |
733 | lock (m_rpcHandlers) | 733 | lock (m_rpcHandlers) |
734 | { | 734 | { |
735 | methodWasFound = m_rpcHandlers.TryGetValue(methodName, out method); | 735 | methodWasFound = m_rpcHandlers.TryGetValue(methodName, out method); |
736 | } | 736 | } |
737 | 737 | ||
738 | if (methodWasFound) | 738 | if (methodWasFound) |
739 | { | 739 | { |
740 | xmlRprcRequest.Params.Add(request.Url); // Param[2] | 740 | xmlRprcRequest.Params.Add(request.Url); // Param[2] |
@@ -766,10 +766,10 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
766 | else | 766 | else |
767 | { | 767 | { |
768 | xmlRpcResponse = new XmlRpcResponse(); | 768 | xmlRpcResponse = new XmlRpcResponse(); |
769 | 769 | ||
770 | // Code set in accordance with http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php | 770 | // Code set in accordance with http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php |
771 | xmlRpcResponse.SetFault( | 771 | xmlRpcResponse.SetFault( |
772 | XmlRpcErrorCodes.SERVER_ERROR_METHOD, | 772 | XmlRpcErrorCodes.SERVER_ERROR_METHOD, |
773 | String.Format("Requested method [{0}] not found", methodName)); | 773 | String.Format("Requested method [{0}] not found", methodName)); |
774 | } | 774 | } |
775 | 775 | ||
@@ -786,11 +786,11 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
786 | response.KeepAlive = false; | 786 | response.KeepAlive = false; |
787 | 787 | ||
788 | m_log.ErrorFormat("[BASE HTTP SERVER]: Handler not found for http request {0}", request.RawUrl); | 788 | m_log.ErrorFormat("[BASE HTTP SERVER]: Handler not found for http request {0}", request.RawUrl); |
789 | 789 | ||
790 | response.SendChunked = false; | 790 | response.SendChunked = false; |
791 | response.ContentLength64 = buf.Length; | 791 | response.ContentLength64 = buf.Length; |
792 | response.ContentEncoding = Encoding.UTF8; | 792 | response.ContentEncoding = Encoding.UTF8; |
793 | 793 | ||
794 | try | 794 | try |
795 | { | 795 | { |
796 | response.OutputStream.Write(buf, 0, buf.Length); | 796 | response.OutputStream.Write(buf, 0, buf.Length); |
@@ -872,13 +872,13 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
872 | 872 | ||
873 | OSD llsdRequest = null; | 873 | OSD llsdRequest = null; |
874 | OSD llsdResponse = null; | 874 | OSD llsdResponse = null; |
875 | 875 | ||
876 | bool LegacyLLSDLoginLibOMV = (requestBody.Contains("passwd") && requestBody.Contains("mac") && requestBody.Contains("viewer_digest")); | 876 | bool LegacyLLSDLoginLibOMV = (requestBody.Contains("passwd") && requestBody.Contains("mac") && requestBody.Contains("viewer_digest")); |
877 | 877 | ||
878 | if (requestBody.Length == 0) | 878 | if (requestBody.Length == 0) |
879 | // Get Request | 879 | // Get Request |
880 | { | 880 | { |
881 | requestBody = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><llsd><map><key>request</key><string>get</string></map></llsd>"; | 881 | requestBody = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><llsd><map><key>request</key><string>get</string></map></llsd>"; |
882 | } | 882 | } |
883 | try | 883 | try |
884 | { | 884 | { |
@@ -1090,7 +1090,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1090 | string bestMatch = null; | 1090 | string bestMatch = null; |
1091 | 1091 | ||
1092 | //m_log.DebugFormat("[BASE HTTP HANDLER]: Checking if we have an HTTP handler for {0}", searchquery); | 1092 | //m_log.DebugFormat("[BASE HTTP HANDLER]: Checking if we have an HTTP handler for {0}", searchquery); |
1093 | 1093 | ||
1094 | lock (m_HTTPHandlers) | 1094 | lock (m_HTTPHandlers) |
1095 | { | 1095 | { |
1096 | foreach (string pattern in m_HTTPHandlers.Keys) | 1096 | foreach (string pattern in m_HTTPHandlers.Keys) |
@@ -1156,7 +1156,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1156 | // You have to specifically register for '/' and to get it, you must specificaly request it | 1156 | // You have to specifically register for '/' and to get it, you must specificaly request it |
1157 | // | 1157 | // |
1158 | if (pattern == "/" && searchquery == "/" || pattern != "/") | 1158 | if (pattern == "/" && searchquery == "/" || pattern != "/") |
1159 | bestMatch = pattern; | 1159 | bestMatch = pattern; |
1160 | } | 1160 | } |
1161 | } | 1161 | } |
1162 | } | 1162 | } |
@@ -1236,11 +1236,11 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1236 | } | 1236 | } |
1237 | 1237 | ||
1238 | public void HandleHTTPRequest(OSHttpRequest request, OSHttpResponse response) | 1238 | public void HandleHTTPRequest(OSHttpRequest request, OSHttpResponse response) |
1239 | { | 1239 | { |
1240 | // m_log.DebugFormat( | 1240 | // m_log.DebugFormat( |
1241 | // "[BASE HTTP SERVER]: HandleHTTPRequest for request to {0}, method {1}", | 1241 | // "[BASE HTTP SERVER]: HandleHTTPRequest for request to {0}, method {1}", |
1242 | // request.RawUrl, request.HttpMethod); | 1242 | // request.RawUrl, request.HttpMethod); |
1243 | 1243 | ||
1244 | switch (request.HttpMethod) | 1244 | switch (request.HttpMethod) |
1245 | { | 1245 | { |
1246 | case "OPTIONS": | 1246 | case "OPTIONS": |
@@ -1256,7 +1256,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1256 | private void HandleContentVerbs(OSHttpRequest request, OSHttpResponse response) | 1256 | private void HandleContentVerbs(OSHttpRequest request, OSHttpResponse response) |
1257 | { | 1257 | { |
1258 | // m_log.DebugFormat("[BASE HTTP SERVER]: HandleContentVerbs for request to {0}", request.RawUrl); | 1258 | // m_log.DebugFormat("[BASE HTTP SERVER]: HandleContentVerbs for request to {0}", request.RawUrl); |
1259 | 1259 | ||
1260 | // This is a test. There's a workable alternative.. as this way sucks. | 1260 | // This is a test. There's a workable alternative.. as this way sucks. |
1261 | // We'd like to put this into a text file parhaps that's easily editable. | 1261 | // We'd like to put this into a text file parhaps that's easily editable. |
1262 | // | 1262 | // |
@@ -1391,7 +1391,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1391 | 1391 | ||
1392 | // m_log.DebugFormat( | 1392 | // m_log.DebugFormat( |
1393 | // "[BASE HTTP HANDLER]: TryGetHTTPHandlerPathBased() looking for HTTP handler to match {0}", searchquery); | 1393 | // "[BASE HTTP HANDLER]: TryGetHTTPHandlerPathBased() looking for HTTP handler to match {0}", searchquery); |
1394 | 1394 | ||
1395 | lock (m_HTTPHandlers) | 1395 | lock (m_HTTPHandlers) |
1396 | { | 1396 | { |
1397 | foreach (string pattern in m_HTTPHandlers.Keys) | 1397 | foreach (string pattern in m_HTTPHandlers.Keys) |
@@ -1452,7 +1452,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1452 | 1452 | ||
1453 | //Even though only one other part of the entire code uses HTTPHandlers, we shouldn't expect this | 1453 | //Even though only one other part of the entire code uses HTTPHandlers, we shouldn't expect this |
1454 | //and should check for NullReferenceExceptions | 1454 | //and should check for NullReferenceExceptions |
1455 | 1455 | ||
1456 | if (string.IsNullOrEmpty(contentType)) | 1456 | if (string.IsNullOrEmpty(contentType)) |
1457 | { | 1457 | { |
1458 | contentType = "text/html"; | 1458 | contentType = "text/html"; |
@@ -1472,8 +1472,8 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1472 | 1472 | ||
1473 | byte[] buffer; | 1473 | byte[] buffer; |
1474 | 1474 | ||
1475 | if (!(contentType.Contains("image") | 1475 | if (!(contentType.Contains("image") |
1476 | || contentType.Contains("x-shockwave-flash") | 1476 | || contentType.Contains("x-shockwave-flash") |
1477 | || contentType.Contains("application/x-oar"))) | 1477 | || contentType.Contains("application/x-oar"))) |
1478 | { | 1478 | { |
1479 | // Text | 1479 | // Text |
@@ -1504,7 +1504,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1504 | { | 1504 | { |
1505 | response.OutputStream.Flush(); | 1505 | response.OutputStream.Flush(); |
1506 | response.Send(); | 1506 | response.Send(); |
1507 | 1507 | ||
1508 | //if (!response.KeepAlive && response.ReuseContext) | 1508 | //if (!response.KeepAlive && response.ReuseContext) |
1509 | // response.FreeContext(); | 1509 | // response.FreeContext(); |
1510 | } | 1510 | } |
@@ -1611,11 +1611,11 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1611 | m_httpListener2 = CoolHTTPListener.Create(m_listenIPAddress, (int)m_port); | 1611 | m_httpListener2 = CoolHTTPListener.Create(m_listenIPAddress, (int)m_port); |
1612 | m_httpListener2.ExceptionThrown += httpServerException; | 1612 | m_httpListener2.ExceptionThrown += httpServerException; |
1613 | m_httpListener2.LogWriter = httpserverlog; | 1613 | m_httpListener2.LogWriter = httpserverlog; |
1614 | 1614 | ||
1615 | // Uncomment this line in addition to those in HttpServerLogWriter | 1615 | // Uncomment this line in addition to those in HttpServerLogWriter |
1616 | // if you want more detailed trace information from the HttpServer | 1616 | // if you want more detailed trace information from the HttpServer |
1617 | //m_httpListener2.UseTraceLogs = true; | 1617 | //m_httpListener2.UseTraceLogs = true; |
1618 | 1618 | ||
1619 | //m_httpListener2.DisconnectHandler = httpServerDisconnectMonitor; | 1619 | //m_httpListener2.DisconnectHandler = httpServerDisconnectMonitor; |
1620 | } | 1620 | } |
1621 | else | 1621 | else |
@@ -1643,8 +1643,8 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1643 | { | 1643 | { |
1644 | m_log.Error("[BASE HTTP SERVER]: Error - " + e.Message); | 1644 | m_log.Error("[BASE HTTP SERVER]: Error - " + e.Message); |
1645 | m_log.Error("[BASE HTTP SERVER]: Tip: Do you have permission to listen on port " + m_port + ", " + m_sslport + "?"); | 1645 | m_log.Error("[BASE HTTP SERVER]: Tip: Do you have permission to listen on port " + m_port + ", " + m_sslport + "?"); |
1646 | 1646 | ||
1647 | // We want this exception to halt the entire server since in current configurations we aren't too | 1647 | // We want this exception to halt the entire server since in current configurations we aren't too |
1648 | // useful without inbound HTTP. | 1648 | // useful without inbound HTTP. |
1649 | throw e; | 1649 | throw e; |
1650 | } | 1650 | } |
@@ -1656,7 +1656,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1656 | { | 1656 | { |
1657 | case SocketError.NotSocket: | 1657 | case SocketError.NotSocket: |
1658 | NotSocketErrors++; | 1658 | NotSocketErrors++; |
1659 | 1659 | ||
1660 | break; | 1660 | break; |
1661 | } | 1661 | } |
1662 | } | 1662 | } |
@@ -1686,12 +1686,11 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1686 | m_httpListener2.LogWriter = null; | 1686 | m_httpListener2.LogWriter = null; |
1687 | m_httpListener2.RequestReceived -= OnRequest; | 1687 | m_httpListener2.RequestReceived -= OnRequest; |
1688 | m_httpListener2.Stop(); | 1688 | m_httpListener2.Stop(); |
1689 | } | 1689 | } |
1690 | catch (NullReferenceException) | 1690 | catch (NullReferenceException) |
1691 | { | 1691 | { |
1692 | m_log.Warn("[BASE HTTP SERVER]: Null Reference when stopping HttpServer."); | 1692 | m_log.Warn("[BASE HTTP SERVER]: Null Reference when stopping HttpServer."); |
1693 | } | 1693 | } |
1694 | |||
1695 | } | 1694 | } |
1696 | 1695 | ||
1697 | public void RemoveStreamHandler(string httpMethod, string path) | 1696 | public void RemoveStreamHandler(string httpMethod, string path) |
@@ -1712,7 +1711,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1712 | m_HTTPHandlers.Remove(path); | 1711 | m_HTTPHandlers.Remove(path); |
1713 | return; | 1712 | return; |
1714 | } | 1713 | } |
1715 | 1714 | ||
1716 | m_HTTPHandlers.Remove(GetHandlerKey(httpMethod, path)); | 1715 | m_HTTPHandlers.Remove(GetHandlerKey(httpMethod, path)); |
1717 | } | 1716 | } |
1718 | } | 1717 | } |
@@ -1728,7 +1727,6 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1728 | } | 1727 | } |
1729 | 1728 | ||
1730 | RemoveHTTPHandler(httpMethod, path); | 1729 | RemoveHTTPHandler(httpMethod, path); |
1731 | |||
1732 | } | 1730 | } |
1733 | 1731 | ||
1734 | public bool RemoveAgentHandler(string agent, IHttpAgentHandler handler) | 1732 | public bool RemoveAgentHandler(string agent, IHttpAgentHandler handler) |
@@ -1759,7 +1757,6 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1759 | } | 1757 | } |
1760 | } | 1758 | } |
1761 | 1759 | ||
1762 | |||
1763 | public bool RemoveLLSDHandler(string path, LLSDMethod handler) | 1760 | public bool RemoveLLSDHandler(string path, LLSDMethod handler) |
1764 | { | 1761 | { |
1765 | try | 1762 | try |
@@ -1833,7 +1830,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1833 | oresp = osresp; | 1830 | oresp = osresp; |
1834 | } | 1831 | } |
1835 | } | 1832 | } |
1836 | 1833 | ||
1837 | /// <summary> | 1834 | /// <summary> |
1838 | /// Relays HttpServer log messages to our own logging mechanism. | 1835 | /// Relays HttpServer log messages to our own logging mechanism. |
1839 | /// </summary> | 1836 | /// </summary> |
@@ -1852,7 +1849,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1852 | { | 1849 | { |
1853 | case LogPrio.Trace: | 1850 | case LogPrio.Trace: |
1854 | m_log.DebugFormat("[{0}]: {1}", source, message); | 1851 | m_log.DebugFormat("[{0}]: {1}", source, message); |
1855 | break; | 1852 | break; |
1856 | case LogPrio.Debug: | 1853 | case LogPrio.Debug: |
1857 | m_log.DebugFormat("[{0}]: {1}", source, message); | 1854 | m_log.DebugFormat("[{0}]: {1}", source, message); |
1858 | break; | 1855 | break; |
@@ -1872,8 +1869,8 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1872 | break; | 1869 | break; |
1873 | } | 1870 | } |
1874 | */ | 1871 | */ |
1875 | 1872 | ||
1876 | return; | 1873 | return; |
1877 | } | 1874 | } |
1878 | } | 1875 | } |
1879 | } \ No newline at end of file | 1876 | } |