Exemple #1
0
        public static Assembly ConfigureRequestHandlers(this HttpConfiguration config,
                                                        IRequestDefinition[] requestHandlerDefinitions,
                                                        IControllerAssemblyBuilder controllerAssemblyBuilder = null)
        {
            var assembly = RequestHandlerControllerBuilder.Build(requestHandlerDefinitions, controllerAssemblyBuilder);

            return(config.ReplaceServicesSoNewControllersInGeneratedAssembliesCanBeResolved(assembly));
        }
Exemple #2
0
        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));
        }