public IdempotencyMiddleware(ILogger <IdempotencyMiddleware> logger, IIdempotencyPersistenceProvider persistence, ProblemDetailsFactory problemDetailsFactory) { _logger = logger; _persistence = persistence; _problemDetailsFactory = problemDetailsFactory; _keyPrefix = string.Empty; _idempotencyKey = string.Empty; _prefixedIdempotencyKey = string.Empty; }
private static Task<IHost> CreateServer(IIdempotencyPersistenceProvider persistenceProvider, Action<IEndpointRouteBuilder> configureEndpoints) { return new HostBuilder() .ConfigureWebHost(builder => builder .UseTestServer() .ConfigureServices(services => services .AddScoped(_ => persistenceProvider) .AddScoped<IdempotencyMiddleware>() .AddControllers()) .Configure(app => { app.UseRouting(); app.UseIdempotency(); app.UseEndpoints(configureEndpoints); })) .StartAsync(); }