public static IApplicationBuilder AddKoala(this IApplicationBuilder self, HttpHandler handler) { self.UseMiddleware <KoalaMiddleware>(handler); return(self); }
public abstract HttpHandler WithNext(HttpHandler next);
public KoalaMiddleware(RequestDelegate next, HttpHandler handler, ILoggerFactory loggerFactory) { _next = next; _handler = handler; _loggerFactory = loggerFactory; }
public static HttpHandler Wrap(Func <HttpContext, HttpHandler> f) { return(HttpHandler.FromFunc(async ctx => await f(ctx).Invoke(ctx))); }
public abstract Task <bool> Invoke(HttpHandler next, HttpContext ctx);
public override HttpHandler WithNext(HttpHandler next) { return(HttpHandler.FromFunc(ctx => this.Invoke(next, ctx))); }
public override Task <bool> Invoke(HttpHandler next, HttpContext ctx) { return(_f(next, ctx)); }
public static HttpHandler subRoute(string path, HttpHandler next) { return(routeStartsWith(path, handlerWithRootedPath(path).WithNext(next))); }
public static HttpHandler routeStartsWith(string path, HttpHandler next) { return(routeStartsWith(path).WithNext(next)); }
public static HttpHandler GET(HttpHandler next) { return(GET().WithNext(next)); }