コード例 #1
0
        private bool processRequestBuffer()
        {
            // This method returns a bool:
            // - true  Done processing
            // - false Need more write

            var data = _requestBuffer.GetBuffer();
            var len  = (int)_requestBuffer.Length;

            if (!processInput(data, len))
            {
                return(false);
            }

            var req = _context.Request;

            if (!_context.HasErrorMessage)
            {
                req.FinishInitialization();
            }

            if (_context.HasErrorMessage)
            {
                _context.SendError();

                return(true);
            }

            var          uri = req.Url;
            HttpListener httplsnr;

            if (!_endPointListener.TrySearchHttpListener(uri, out httplsnr))
            {
                _context.SendError(404);

                return(true);
            }

            httplsnr.RegisterContext(_context);

            return(true);
        }