public static IMiddlewareSetup AddCustomController(this IMiddlewareSetup middlewareSetup, Func <Environment, Task <MiddlewareInvocationEnum> > handler) { middlewareSetup.AddMiddleWare(new CustomMiddleware(handler)); return(middlewareSetup); }
public static IMiddlewareSetup AddControllerFunction(this IMiddlewareSetup middlewareSetup, Func <Request, bool> controllerFunctionCanHandleRequest, Func <Request, object> controllerFunc) { var controllerFunctionMiddleware = new ControllerFunctionMiddleware(controllerFunctionCanHandleRequest, req => { var response = controllerFunc(req); return(ResponseFactory.From(response)); }); middlewareSetup.AddMiddleWare(controllerFunctionMiddleware); return(middlewareSetup); }
public static IMiddlewareSetup AddCustomController(this IMiddlewareSetup middlewareSetup, string route, Func <Environment, Task> handler) { middlewareSetup.AddCustomController(async e => { if (e.RequestPath.Equals(route, StringComparison.OrdinalIgnoreCase)) { await handler(e); return(MiddlewareInvocationEnum.StopChain); } return(MiddlewareInvocationEnum.ContinueToNext); }); return(middlewareSetup); }
public static IMiddlewareSetup AddControllerFunction(this IMiddlewareSetup middlewareSetup, string path, Func <Request, object> controllerFunc) => middlewareSetup.AddControllerFunction(req => req.RequestPath.Equals(path, StringComparison.InvariantCultureIgnoreCase), controllerFunc);
public static IMiddlewareSetup AddControllerFunctionThatReturnsHttpContent( this IMiddlewareSetup middlewareSetup, Func <Request, bool> canHandle, Func <Request, (HttpContent content, int statusCode)> controllerFunc)
public static IMiddlewareSetup AddControllerFunctionThatReturnsHttpContent( this IMiddlewareSetup middlewareSetup, Func <Request, bool> canHandle, Func <Request, HttpContent> controllerFunc) => AddControllerFunction(middlewareSetup, canHandle, controllerFunc);
public static IMiddlewareSetup AddDynamicController(this IMiddlewareSetup middlewareSetup) { middlewareSetup.AddMiddleWare(new DynamicControllerMiddleware()); return(middlewareSetup); }