public IdempotencyPipelineBehavior(IIdempotencyKeyReader <TRequest> keyReader, IIdempotencyRepository repository, IIdempotencySerializer idempotencySerializer, ILogger <TRequest, TResponse> logger = null) { _keyReader = keyReader; _logger = logger; _repository = repository ?? throw new ArgumentNullException(nameof(repository)); _idempotencySerializer = idempotencySerializer ?? throw new ArgumentNullException(nameof(idempotencySerializer)); }
public IdempotencyRepository(IDatabase database, IIdempotencySerializer serializer) { _database = database ?? throw new ArgumentNullException(nameof(database)); _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); }