public RouteProvider(NtradaOptions options, IRequestHandlerManager requestHandlerManager, IRouteConfigurator routeConfigurator, IRequestExecutionValidator requestExecutionValidator, IUpstreamBuilder upstreamBuilder, ILogger <RouteProvider> logger) { _routeConfigurator = routeConfigurator; _requestExecutionValidator = requestExecutionValidator; _upstreamBuilder = upstreamBuilder; _options = options; _requestHandlerManager = requestHandlerManager; _logger = logger; _methods = new Dictionary <string, Action <IRouteBuilder, string, RouteConfig> > { ["get"] = (builder, path, routeConfig) => builder.MapGet(path, (request, response, routeData) => Handle(request, response, routeData, routeConfig)), ["post"] = (builder, path, routeConfig) => builder.MapPost(path, (request, response, routeData) => Handle(request, response, routeData, routeConfig)), ["put"] = (builder, path, routeConfig) => builder.MapPut(path, (request, response, routeData) => Handle(request, response, routeData, routeConfig)), ["delete"] = (builder, path, routeConfig) => builder.MapDelete(path, (request, response, routeData) => Handle(request, response, routeData, routeConfig)), ["patch"] = (builder, path, routeConfig) => builder.MapVerb("patch", path, (request, response, routeData) => Handle(request, response, routeData, routeConfig)), }; }
public RouteProvider(IServiceProvider serviceProvider, IRequestProcessor requestProcessor, IRouteConfigurator routeConfigurator, IAccessValidator accessValidator, Configuration configuration) { _serviceProvider = serviceProvider; _requestProcessor = requestProcessor; _routeConfigurator = routeConfigurator; _accessValidator = accessValidator; _configuration = configuration; var processors = new Dictionary <string, Func <RouteConfig, Func <HttpRequest, HttpResponse, RouteData, Task> > > { ["return_value"] = UseReturnValueAsync, ["downstream"] = UseDownstreamAsync, ["dispatcher"] = UseDispatcherAsync }; _methods = new Dictionary <string, Action <IRouteBuilder, string, RouteConfig> > { ["get"] = (builder, path, routeConfig) => builder.MapGet(path, processors[routeConfig.Route.Use](routeConfig)), ["post"] = (builder, path, routeConfig) => builder.MapPost(path, processors[routeConfig.Route.Use](routeConfig)), ["put"] = (builder, path, routeConfig) => builder.MapPut(path, processors[routeConfig.Route.Use](routeConfig)), ["delete"] = (builder, path, routeConfig) => builder.MapDelete(path, processors[routeConfig.Route.Use](routeConfig)), ["patch"] = (builder, path, routeConfig) => builder.MapVerb("patch", path, processors[routeConfig.Route.Use](routeConfig)) }; _extensions = LoadExtensions(); }
public static IRoute Options <TRequestController>(this IRouteConfigurator routeConfigurator, string name, string path, Controller <TRequestController> controller ) where TRequestController : IRequestController { return(routeConfigurator.Add("OPTIONS", name, path, controller.Execute)); }
public static IRoute Patch <TRequestController>(this IRouteConfigurator routeConfigurator, string name, string path, Controller <TRequestController> controller ) where TRequestController : IRequestController { return(routeConfigurator.Add("PATCH", name, path, controller.Execute)); }
public static IRoute Trace <TRequestController, TContent>( this IRouteConfigurator routeConfigurator, string name, string path, Controller <TRequestController, TContent> controller ) where TRequestController : IRequestController <TContent> { return(routeConfigurator.Add("TRACE", name, path, controller.Execute)); }
public static void EnableCorsOptionsRequestHandling(this IRouteConfigurator router, Action <CorsOptions> setOptions = null) { router.Options("cors_preflight", "*", context => { return(Task.Run(() => context.Response.SetCorsHeaders(CorsOptions.GetCorsOptions(setOptions)))); }); router.Options("cors_preflight", "/", context => { return(Task.Run(() => context.Response.SetCorsHeaders(CorsOptions.GetCorsOptions(setOptions)))); }); }
public RouteProvider(NtradaOptions options, IRequestHandlerManager requestHandlerManager, IRouteConfigurator routeConfigurator, IRequestExecutionValidator requestExecutionValidator, IUpstreamBuilder upstreamBuilder, WebApiEndpointDefinitions definitions, ILogger <RouteProvider> logger) { _routeConfigurator = routeConfigurator; _requestExecutionValidator = requestExecutionValidator; _upstreamBuilder = upstreamBuilder; _definitions = definitions; _options = options; _requestHandlerManager = requestHandlerManager; _logger = logger; _methods = new Dictionary <string, Action <IEndpointRouteBuilder, string, RouteConfig> > { ["get"] = (builder, path, routeConfig) => builder.MapGet(path, ctx => Handle(ctx, routeConfig)), ["post"] = (builder, path, routeConfig) => builder.MapPost(path, ctx => Handle(ctx, routeConfig)), ["put"] = (builder, path, routeConfig) => builder.MapPut(path, ctx => Handle(ctx, routeConfig)), ["delete"] = (builder, path, routeConfig) => builder.MapDelete(path, ctx => Handle(ctx, routeConfig)), }; }
public static IRoute Patch(this IRouteConfigurator routeConfigurator, string name, string path, RouteFuncAsync handler) { return(routeConfigurator.Add("PATCH", name, path, handler)); }
public MvcConfiguration(IRouteConfigurator routeConfigurator, IControllerFactory controllerFactory) { this.routeConfigurator = routeConfigurator; this.controllerFactory = controllerFactory; }
public static IRoute Trace(this IRouteConfigurator routeConfigurator, string name, string path, RouteFuncAsync handler) { return(routeConfigurator.Add("TRACE", name, path, handler)); }
public static IRoute Options(this IRouteConfigurator routeConfigurator, string name, string path, RouteFuncAsync handler) { return(routeConfigurator.Add("OPTIONS", name, path, handler)); }
public static IRoute Connect(this IRouteConfigurator routeConfigurator, string name, string path, RouteFuncAsync handler) { return(routeConfigurator.Add("CONNECT", name, path, handler)); }
public static IRoute Delete(this IRouteConfigurator routeConfigurator, string name, string path, RouteFuncAsync handler) { return(routeConfigurator.Add("DELETE", name, path, handler)); }
public static IRoute Head(this IRouteConfigurator routeConfigurator, string name, string path, RouteFuncAsync handler) { return(routeConfigurator.Add("HEAD", name, path, handler)); }