/// <summary> /// Initializes a new instance of the <see cref="DefaultHttpControllerSelector"/> class. /// </summary> /// <param name="configuration">The configuration.</param> public AreaHttpControllerSelector(HttpConfiguration configuration) : base(configuration) { _controllerInfoCache = new Lazy <ConcurrentDictionary <AreaController, HttpControllerDescriptor> >(InitializeControllerInfoCache); _configuration = configuration; _controllerTypeCache = new HttpControllerTypeCache(_configuration); }
/// <summary> /// Initializes a new instance of the <see cref="System.Web.Http.Dispatcher.DefaultHttpControllerSelector" /> class. /// </summary> /// <param name="configuration"> The configuration. </param> protected VersionedControllerSelector(HttpConfiguration configuration) { if (configuration == null) { throw new ArgumentNullException("configuration"); } this._controllerInfoCache = new Lazy<ConcurrentDictionary<ControllerIdentification, HttpControllerDescriptor>>(this.InitializeControllerInfoCache); this._configuration = configuration; this._controllerTypeCache = new HttpControllerTypeCache(this._configuration); }
/// <summary> /// Initializes a new instance of the <see cref="DefaultHttpControllerSelector"/> class. /// </summary> /// <param name="configuration">The configuration.</param> public NamespaceHttpControllerSelector(HttpConfiguration configuration) : base(configuration) { if (configuration == null) { //throw Error.ArgumentNull("configuration"); throw new ArgumentNullException("configuration"); } _controllerInfoCache = new Lazy <ConcurrentDictionary <string, HttpControllerDescriptor> >(InitializeControllerInfoCache); _configuration = configuration; _controllerTypeCache = new HttpControllerTypeCache(_configuration); }
private static IRouteEngine RegisterCommon(HttpConfiguration configuration, string qualifier, IRouteEngine engine = null) { if (engine == null) { engine = RouteEngineFactory.Create(); } configuration.DependencyResolver = new SuperscribeDependencyAdapter(configuration.DependencyResolver, engine); configuration.MessageHandlers.Add(new SuperscribeHandler()); var actionSelector = configuration.Services.GetService(typeof(IHttpActionSelector)) as IHttpActionSelector; var controllerSelector = configuration.Services.GetService(typeof(IHttpControllerSelector)) as IHttpControllerSelector; var actionInvoker = configuration.Services.GetService(typeof(IHttpActionInvoker)) as IHttpActionInvoker; configuration.Services.Replace(typeof(IHttpActionSelector), new SuperscribeActionSelectorAdapter(actionSelector)); configuration.Services.Replace(typeof(IHttpControllerSelector), new SuperscribeControllerSelectorAdapter(controllerSelector)); configuration.Services.Replace(typeof(IHttpActionInvoker), new SuperscribeActionInvokerAdapter(actionInvoker)); ControllerTypeCache = new HttpControllerTypeCache(configuration); var template = "{*wildcard}"; if (!string.IsNullOrEmpty(qualifier)) { template = qualifier + "/" + template; } HttpConfiguration = configuration; // We need a single default route that will match everything // configuration.Routes.Clear(); configuration.Routes.MapHttpRoute( name: "Superscribe", routeTemplate: template, defaults: new { }); return(engine); }
private static IRouteEngine RegisterCommon(HttpConfiguration configuration, string qualifier, IRouteEngine engine = null) { if (engine == null) { engine = RouteEngineFactory.Create(); } configuration.DependencyResolver = new SuperscribeDependencyAdapter(configuration.DependencyResolver, engine); configuration.MessageHandlers.Add(new SuperscribeHandler()); var actionSelector = configuration.Services.GetService(typeof(IHttpActionSelector)) as IHttpActionSelector; var controllerSelector = configuration.Services.GetService(typeof(IHttpControllerSelector)) as IHttpControllerSelector; var actionInvoker = configuration.Services.GetService(typeof(IHttpActionInvoker)) as IHttpActionInvoker; configuration.Services.Replace(typeof(IHttpActionSelector), new SuperscribeActionSelectorAdapter(actionSelector)); configuration.Services.Replace(typeof(IHttpControllerSelector), new SuperscribeControllerSelectorAdapter(controllerSelector)); configuration.Services.Replace(typeof(IHttpActionInvoker), new SuperscribeActionInvokerAdapter(actionInvoker)); ControllerTypeCache = new HttpControllerTypeCache(configuration); var template = "{*wildcard}"; if (!string.IsNullOrEmpty(qualifier)) { template = qualifier + "/" + template; } HttpConfiguration = configuration; // We need a single default route that will match everything // configuration.Routes.Clear(); configuration.Routes.MapHttpRoute( name: "Superscribe", routeTemplate: template, defaults: new { }); return engine; }
/// <summary> /// Initializes a new instance of the <see cref="System.Web.Http.Dispatcher.DefaultHttpControllerSelector" /> class. /// </summary> /// <param name="configuration"> The configuration. </param> /// <param name="defaultVersion">The version to default to if no version is present in accept header.</param> protected VersionedControllerSelector(HttpConfiguration configuration, string defaultVersion) { this._configuration = GetConfigurationOrThrowNullArgumentException(configuration); this._controllerTypeCache = new HttpControllerTypeCache(this._configuration); this._defaultVersion = defaultVersion; this._controllerInfoCache = new Lazy<ConcurrentDictionary<ControllerIdentification, HttpControllerDescriptor>>(this.InitializeControllerInfoCache); }
/// <summary> /// Initializes a new instance of the <see cref="HyperHttpControllerSelector" /> class. /// </summary> /// <param name="configuration">The configuration.</param> public HyperHttpControllerSelector(HttpConfiguration configuration) { _configuration = configuration; _controllerTypeCache = new HttpControllerTypeCache(_configuration); _controllerInfoCache = new Lazy<ConcurrentDictionary<string, HttpControllerDescriptor>>(InitializeControllerInfoCache); }