Пример #1
0
        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;
            }

            host.StartSession(context);
        }
Пример #2
0
 internal WebSocket(HttpListenerWebSocketContext context)
     : this()
 {
     _wsStream     = context.Stream;
     _closeContext = () => context.Close();
     init(context);
 }
Пример #3
0
 private void processRequest(HttpListenerWebSocketContext context)
 {
     if (!_services.InternalTryGetServiceHost(context.RequestUri.AbsolutePath, out var host))
     {
         context.Close(HttpStatusCode.NotImplemented);
     }
     else
     {
         host.StartSession(context);
     }
 }
Пример #4
0
        private void acceptWebSocketRequest(HttpListenerWebSocketContext context)
        {
            string path = context.Path;
            WebSocketServiceHost webSocketServiceHost;

            if (path == null || !this._services.TryGetServiceHostInternally(path, out webSocketServiceHost))
            {
                context.Close(HttpStatusCode.NotImplemented);
                return;
            }
            webSocketServiceHost.StartSession(context);
        }
Пример #5
0
        private void processWebSocketRequest(HttpListenerWebSocketContext context)
        {
            WebSocketServiceHost host;

            if (!_services.TryGetServiceHostInternally(context.RequestUri.AbsolutePath, out host))
            {
                context.Close(HttpStatusCode.NotImplemented);
                return;
            }

            host.StartSession(context);
        }
Пример #6
0
        private void processRequest(HttpListenerWebSocketContext context)
        {
            WebSocketServiceHost webSocketServiceHost;

            if (this._services.InternalTryGetServiceHost(context.RequestUri.AbsolutePath, out webSocketServiceHost))
            {
                webSocketServiceHost.StartSession(context);
            }
            else
            {
                context.Close(WebSocketSharp.Net.HttpStatusCode.NotImplemented);
            }
        }
Пример #7
0
		private void processRequest (HttpListenerWebSocketContext context)
			{
			WebSocketServiceHost host;
			string path = context.RequestUri.AbsolutePath;
			if (!_services.InternalTryGetServiceHost (path, out host))
				{
				if (OnResolveWebSocketServiceHost != null)
					{
					var hrwsshea = new HttpResolveWebSocketServiceHostEventArgs (HttpUtility.UrlDecode (path).TrimSlashFromEnd ());
					OnResolveWebSocketServiceHost (this, hrwsshea);
					host = hrwsshea.Host;
					}

				if (host == null)
					{
					context.Close (HttpStatusCode.NotImplemented);
					return;
					}
				}

			host.StartSession (context);
			}