public static Assembly ConfigureRequestHandlers(this HttpConfiguration config, IRequestDefinition[] requestHandlerDefinitions, IControllerAssemblyBuilder controllerAssemblyBuilder = null) { var assembly = RequestHandlerControllerBuilder.Build(requestHandlerDefinitions, controllerAssemblyBuilder); return(config.ReplaceServicesSoNewControllersInGeneratedAssembliesCanBeResolved(assembly)); }
public static Assembly Build(IRequestDefinition[] definitions, IControllerAssemblyBuilder controllerAssemblyBuilder = null) { controllerAssemblyBuilder = controllerAssemblyBuilder ?? new CSharpBuilder("Proxy"); var controllerDefinitions = definitions.SelectMany(x => x.RequestType.GetTypeInfo() .GetCustomAttributes(true) .OfType <HttpRequestAttribute>() .Select(d => new HttpRequestHandlerDefinition(d, x)) ) .ToArray(); return(controllerAssemblyBuilder.Build(controllerDefinitions)); }