public static UriMakerContext MapHttpAttributeRoutesAndUseUriMaker( this HttpConfiguration configuration, IDirectRouteProvider directRouteProvider = null) { directRouteProvider = directRouteProvider ?? new DefaultDirectRouteProvider(); var decorator = new DecoratorRouteProvider(directRouteProvider); configuration.MapHttpAttributeRoutes(decorator); var uriMakerContext = new UriMakerContext(decorator.RouteMap); return uriMakerContext; }
private static void RegisterDrum(HttpConfiguration config, ContainerBuilder builder) { // Web API routes UriMakerContext uriMakerContext = config.MapHttpAttributeRoutesAndUseUriMaker(); builder.RegisterInstance(uriMakerContext).ExternallyOwned(); builder.RegisterHttpRequestMessage(config); builder.RegisterGeneric(typeof(UriMaker <>)).AsSelf().InstancePerRequest(); builder.RegisterType <DrumUrlProvider>().As <IUrlProvider>(); }
public static UriMakerContext MapHttpAttributeRoutesAndUseUriMaker( this HttpConfiguration configuration, IDirectRouteProvider directRouteProvider = null, Func<HttpRequestMessage, ICollection<RouteEntry>, RouteEntry> routeSelector = null) { directRouteProvider = directRouteProvider ?? new DefaultDirectRouteProvider(); var decorator = new DecoratorRouteProvider(directRouteProvider, routeSelector); configuration.MapHttpAttributeRoutes(decorator); var uriMakerContext = new UriMakerContext(decorator.RouteMap); configuration.Properties.AddOrUpdate(ContextKey, _ => uriMakerContext, (_, __) => uriMakerContext); return uriMakerContext; }
public DrumUrlProvider(UriMakerContext context, HttpRequestMessage request) { _context = context; _request = request; }
public MultipleRouteTests() { _config = new HttpConfiguration(); _factory = _config.MapHttpAttributeRoutesAndUseUriMaker(new DefaultDirectRouteProvider(), Selector); _config.EnsureInitialized(); }
public RouteDataPropagationTests() { _config = new HttpConfiguration(); _factory = _config.MapHttpAttributeRoutesAndUseUriMaker(new DefaultDirectRouteProvider()); _config.EnsureInitialized(); }
public UriMakerRequestFlowHandler(UriMakerContext context) { _context = context; }
public static void FlowUriMakerContextOnRequests(this HttpConfiguration configuration, UriMakerContext uriMakerContext) { configuration.MessageHandlers.Add(new UriMakerRequestFlowHandler(uriMakerContext)); }