public void Configuration(IAppBuilder app) { HttpConfiguration config = new HttpConfiguration(); config.Services.Replace(typeof(IAssembliesResolver), new TestWebApiResolver()); var routeProvider = new DirectRouteProvider(); config.MapHttpAttributeRoutes(routeProvider); config.Formatters.Remove(config.Formatters.XmlFormatter); app.UseWebApi(config); }
public static VersionedHttpConfiguration WithApiVersioning( this HttpConfiguration httpConfiguration, Action <ApiVersionConfiguration> configureApiVersion) { ApiVersionConfiguration versionConfiguration = new ApiVersionConfiguration(); configureApiVersion(versionConfiguration); var routeProvider = new DirectRouteProvider("api"); httpConfiguration.MapHttpAttributeRoutes(routeProvider); return(new VersionedHttpConfiguration( httpConfiguration, versionConfiguration)); }
public async Task AttributeRouting_DirectRouteProvider_ActionRoute() { var actionRoutes = new Dictionary <string, IEnumerable <IDirectRouteFactory> >() { { "Get239303030", new[] { new RouteAttribute("CoolRouteBro") } } }; var routeProvider = new DirectRouteProvider(null, actionRoutes); var request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/CoolRouteBro"); var response = await SubmitRequestAsync(request, routeProvider); Assert.True(response.IsSuccessStatusCode); Assert.Equal("DirectRouteProviderController.Get239303030()", GetContentValue <string>(response)); }
public async Task AttributeRouting_DirectRouteProvider_ControllerRoute_TraditionalRouteDoesntMatch() { var controllerRoutes = new Dictionary <Type, IEnumerable <IDirectRouteFactory> >() { { typeof(DirectRouteProviderController), new[] { new RouteAttribute("CoolRouteBro") } } }; var routeProvider = new DirectRouteProvider(controllerRoutes, null); var request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/DirectRouteProvider"); var response = await SubmitRequestAsync(request, routeProvider); Assert.False(response.IsSuccessStatusCode); Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); }
public void AttributeRouting_DirectRouteProvider_ControllerRoute() { var controllerRoutes = new Dictionary <Type, IEnumerable <IDirectRouteFactory> >() { { typeof(DirectRouteProviderController), new[] { new RouteAttribute("CoolRouteBro") } } }; var routeProvider = new DirectRouteProvider(controllerRoutes, null); var request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/CoolRouteBro"); var response = SubmitRequest(request, routeProvider); Assert.True(response.IsSuccessStatusCode); Assert.Equal("DirectRouteProviderController.Get239303030()", GetContentValue <string>(response)); }