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"); }
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); }
public PipelineHandler(IConfiguration config, RequestHandlerProvider handlerProvider) { Config = config; HandlerProvider = handlerProvider; }