/// <summary>
        /// Initializes a new instance.
        /// </summary>
        public TimerHttpMiddleware(FluentHttpRequestDelegate next, TimerHttpMiddlewareOptions options, ILogger <TimerHttpMiddleware> logger)
        {
            _next    = next;
            _options = options;
            _logger  = logger;

            if (_options.WarnThreshold <= TimeSpan.Zero)
            {
                throw new ArgumentException($"{nameof(_options.WarnThreshold)} must be greater than Zero.");
            }
        }
        /// <summary>
        /// Initializes a new instance.
        /// </summary>
        public TimerHttpMiddleware(
            FluentHttpMiddlewareDelegate next,
            FluentHttpMiddlewareClientContext context,
            TimerHttpMiddlewareOptions options,
            ILoggerFactory loggerFactory
            )
        {
            _next    = next;
            _options = options;
            _logger  = loggerFactory.CreateLogger($"{typeof(TimerHttpMiddleware).Namespace}.{context.Identifier}.Timer");

            if (_options.WarnThreshold <= TimeSpan.Zero)
            {
                throw new ArgumentException($"{nameof(_options.WarnThreshold)} must be greater than Zero.");
            }
        }