// creates a route which calls an AppFunc private static IAppBuilder Route(this IAppBuilder app, string httpMethod, AppFunc runAction, RouteTemplate[] templates) { var options = new RouteMiddleware.Options(httpMethod, templates, runAction); IAppBuilder result = app.Use<RouteMiddleware>(options); return result; }
// creates a branch in the routing private static IAppBuilder Branch(this IAppBuilder app, RouteTemplate template, Action<IAppBuilder> branchAction) { var options = new RouteMiddleware.Options(null, template, null); IAppBuilder result = app.Use<RouteMiddleware>(options); IAppBuilder branch = app.New(); branchAction(branch); options.branch = (OwinMiddleware)branch.Build(typeof(OwinMiddleware)); return result; }