private ProcessingResult HandleRequest(RequestEventArgs e)
{
var context = new RequestContext
{
HttpContext = e.Context,
Request = e.Request,
Response = e.Response
};
OnAuthentication(context);
OnBeforeRequest(context);
PrepareRequest(this, e);
if (e.Request.ContentLength.Value > 0)
DecodeBody(e.Request);
// Process routers.
ProcessingResult result = ProcessRouters(context);
if (ProcessResult(result, e))
_logger.Debug("Routers processed the request.");
// process modules.
result = ProcessModules(context);
if (ProcessResult(result, e))
return result;
RequestReceived(this, e);
return ProcessingResult.Continue;
}