示例#1
0
        public async Task Invoke(HttpContext ctx)
        {
            string GetRequestInfo()
            {
                return($"{ctx.Request.Protocol} {ctx.Request.Method} {ctx.Request.Path}");
            }

            var result = await _handler.Invoke(ctx);

            var logger = _loggerFactory.CreateLogger <KoalaMiddleware>();

            if (result)
            {
                if (logger.IsEnabled(LogLevel.Debug))
                {
                    logger.LogDebug($"Koala returned 'true' for {GetRequestInfo()}");
                }
                return;
            }
            else
            {
                if (logger.IsEnabled(LogLevel.Debug))
                {
                    logger.LogDebug($"Koala returned 'false' for {GetRequestInfo()}");
                }
                await _next.Invoke(ctx);
            }
        }
示例#2
0
 public static HttpHandler POST(HttpHandler next)
 {
     return(HttpHandler.FromFunc(async ctx =>
     {
         if (ctx.Request.Method == HttpMethods.Post)
         {
             return await next.Invoke(ctx);
         }
         return false;
     }));
 }