public static HttpControllerAction Action(this ControllerContainer controllerContainer, string url) { var mvcApplication = new MvcApplication(controllerContainer, new EmptyContentProvider()); return(new HttpControllerAction(mvcApplication) { UriPath = url }); }
public static HttpControllerAction ParseAction(this ControllerContainer controllerContainer, string rawHttpRequest) { var lines = rawHttpRequest.Split('\n'); var first = lines.First(); var parts = first.Split(' '); return(new HttpControllerAction(new MvcApplication(controllerContainer, new EmptyContentProvider())) { HttpMethod = parts[0], UriPath = parts[1] }); }
public static ControllerContainer RegisterControllers(this ControllerContainer container, Func <Type, ControllerBase> factory, params Assembly[] assemblies) { const string controllerPostFix = "Controller"; var controllerTypes = from t in ScanTypes(assemblies) where typeof(ControllerBase).IsAssignableFrom(t) && t.Name.EndsWith(controllerPostFix, StringComparison.Ordinal) select t; foreach (var type in controllerTypes) { var controllerType = type; var name = controllerType.Name.Substring(0, controllerType.Name.Length - controllerPostFix.Length); container.RegisterController(name, ctx => factory(controllerType)); } return(container); }
public static ControllerContainer RegisterControllers(this ControllerContainer container, params Assembly[] assemblies) { return(RegisterControllers(container, type => (ControllerBase)Activator.CreateInstance(type), assemblies)); }