Ejemplo n.º 1
0
        public HandlersCollection(IReadOnlyDictionary <string, Type> source)
        {
            Keys = source.Keys.ToArray();

            var handlers        = new Dictionary <string, Type>(source);
            var serviceProvider = new ServiceCollection().BuildServiceProvider();

            HandlerProvider = new RequestHandlerProvider(handlers, serviceProvider);
        }
        public async Task ShouldCustomizeRequestHandling()
        {
            var container = new Container(x =>
            {
                x.Add <IRequestHandler <Request, string> >().Type <RequestHandler>();
                x.Add <IRequestHandler <Request, string> >().Type <RequestHandler>();
            });

            var provider = new RequestHandlerProvider();

            var s = await new Mediator(container.GetService, new Configuration {
                RequestHandlerProvider = provider
            }).Send(new Request());

            s.ShouldBe("success success");
        }
Ejemplo n.º 3
0
        public static IServiceCollection AddMockServer(this IServiceCollection services,
                                                       Action <MockServerOptions> configure)
        {
            services.AddRouting();
            services.AddHttpClient();

            services.AddOptions <MockServerOptions>().Configure(configure);

            services.AddSingleton <IRequestValidator, RequestValidator>();
            services.AddSingleton <IResponseValidator, ResponseValidator>();

            services.AddSingleton <IMockDataProvider, MockDataProvider>();

            services.AddSingleton(x => RequestHandlerProvider.FromAssemblies(x, typeof(Program).Assembly));

            services.AddSingleton <RouteContextProvider>();

            return(services);
        }
Ejemplo n.º 4
0
 public PipelineHandler(IConfiguration config, RequestHandlerProvider handlerProvider)
 {
     Config          = config;
     HandlerProvider = handlerProvider;
 }