예제 #1
0
        private void OnRequest(HttpListenerContext context)
        {
            try
            {
                PollServiceEventArgs psEvArgs;

                if (TryGetPollServiceHTTPHandler(context.Request.Url.AbsolutePath, out psEvArgs))
                {
                    if (context.Request.HttpMethod == "HEAD")
                    {
                        return;
                    }
                    PollServiceHttpRequest psreq = new PollServiceHttpRequest(psEvArgs, context);

                    if (psEvArgs.Request != null)
                    {
                        OSHttpRequest req = new OSHttpRequest(context);
                        psEvArgs.Request(psreq.RequestID, req);
                    }

                    m_PollServiceManager.Enqueue(psreq);
                }
                else
                {
                    HandleRequest(context);
                }
            }
            catch (Exception e)
            {
                MainConsole.Instance.ErrorFormat("[BASE HTTP SERVER]: OnRequest() failed: {0} ", e.ToString());
            }
        }