protected override void AcceptWebSocket(TcpClient client) { var context = Ext.AcceptWebSocket(client, IsSecure); var socket = context.WebSocket; var path = Ext.UrlDecode(context.Path); if (path != Ext.UrlDecode(Ext.GetAbsolutePath(Uri))) { socket.Close(HttpStatusCode.NotImplemented); return; } if (Uri.IsAbsoluteUri) { socket.Url = Uri; } BindWebSocket(socket); }
protected override void AcceptWebSocket(TcpClient client) { var context = Ext.AcceptWebSocket(client, IsSecure); var socket = context.WebSocket; var path = Ext.UrlDecode(context.Path); IServiceHost svcHost; if (!_services.TryGetServiceHost(path, out svcHost)) { socket.Close(HttpStatusCode.NotImplemented); return; } if (BaseUri.IsAbsoluteUri) { socket.Url = new Uri(BaseUri, path); } svcHost.BindWebSocket(socket); }