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); } }
public static HttpHandler POST(HttpHandler next) { return(HttpHandler.FromFunc(async ctx => { if (ctx.Request.Method == HttpMethods.Post) { return await next.Invoke(ctx); } return false; })); }