Ejemplo n.º 1
0
        private void OnHandleRequestIOCPThread(IHttpClientContext context, IHttpRequest request)
        {
            OSHttpRequest req = new OSHttpRequest(context, request);

            WebSocketRequestDelegate dWebSocketRequestDelegate = null;

            lock (m_WebSocketHandlers)
            {
                if (m_WebSocketHandlers.ContainsKey(req.RawUrl))
                {
                    dWebSocketRequestDelegate = m_WebSocketHandlers[req.RawUrl];
                }
            }
            if (dWebSocketRequestDelegate != null)
            {
                dWebSocketRequestDelegate(req.Url.AbsolutePath, new WebSocketHttpServerHandler(req, context, 8192));
                return;
            }

            if (req.ContentType != null && req.ContentType.ToLowerInvariant() == "application/x-www-form-urlencoded")
            {
                IHttpClientContext  postcontext = (IHttpClientContext)context;
                FormDecoderProvider provider    = new FormDecoderProvider();
                provider.Add(new UrlDecoder());
            }
            OSHttpResponse resp = new OSHttpResponse(new HttpResponse(context, request), context);

            HandleRequest(req, resp);
        }
Ejemplo n.º 2
0
 public void AddWebSocketHandler(string servicepath, WebSocketRequestDelegate handler)
 {
     lock (m_WebSocketHandlers)
     {
         if (!m_WebSocketHandlers.ContainsKey(servicepath))
         {
             m_WebSocketHandlers.Add(servicepath, handler);
         }
     }
 }
Ejemplo n.º 3
0
 public void AddWebSocketHandler(string servicepath, WebSocketRequestDelegate handler)
 {
     lock (m_WebSocketHandlers)
     {
         if (!m_WebSocketHandlers.ContainsKey(servicepath))
             m_WebSocketHandlers.Add(servicepath, handler);
     }
 }
Ejemplo n.º 4
0
        public void AddWebSocketHandler(string servicepath, WebSocketRequestDelegate handler)
        {
            try
            {
                m_WebSocketHandlers.AddIfNotExists(servicepath, delegate() { return handler; });
            }
            catch(ThreadedClasses.RwLockedDictionary<string, WebSocketRequestDelegate>.KeyAlreadyExistsException)
            {

            }
        }