diff --git a/websocket-sharp/Server/HttpServer.cs b/websocket-sharp/Server/HttpServer.cs index 112c5227..a243a6f3 100644 --- a/websocket-sharp/Server/HttpServer.cs +++ b/websocket-sharp/Server/HttpServer.cs @@ -914,18 +914,23 @@ namespace WebSocketSharp.Server private void processRequest (HttpListenerWebSocketContext context) { var uri = context.RequestUri; + if (uri == null) { context.Close (HttpStatusCode.BadRequest); + return; } var path = uri.AbsolutePath; + if (path.IndexOfAny (new[] { '%', '+' }) > -1) path = HttpUtility.UrlDecode (path, Encoding.UTF8); WebSocketServiceHost host; + if (!_services.InternalTryGetServiceHost (path, out host)) { context.Close (HttpStatusCode.NotImplemented); + return; }