/// <summary>
        /// Use response caching middleware which get from cache or get from remote and cache responses.
        /// </summary>
        /// <param name="builder">Builder instance</param>
        /// <param name="configure">Action to configure caching options.</param>
        public static FluentHttpClientBuilder UseResponseCaching(this FluentHttpClientBuilder builder, Action <ResponseCacheHttpMiddlewareOptions> configure)
        {
            var options = new ResponseCacheHttpMiddlewareOptions();

            configure?.Invoke(options);
            return(builder.UseResponseCaching(options));
        }
        /// <summary>
        /// Use logger middleware which logs out going requests and incoming responses.
        /// </summary>
        /// <param name="builder">Builder instance</param>
        /// <param name="configure">Action to configure logging options.</param>
        public static FluentHttpClientBuilder UseLogging(this FluentHttpClientBuilder builder, Action <LoggerHttpMiddlewareOptions> configure)
        {
            var options = new LoggerHttpMiddlewareOptions();

            configure?.Invoke(options);
            return(builder.UseLogging(options));
        }
Beispiel #3
0
        /// <summary>
        /// Use timer middleware which measures how long the request takes.
        /// </summary>
        /// <param name="builder">Builder instance</param>
        /// <param name="configure">Action to configure timer options.</param>
        public static FluentHttpClientBuilder UseTimer(this FluentHttpClientBuilder builder, Action <TimerHttpMiddlewareOptions>?configure)
        {
            var options = new TimerHttpMiddlewareOptions();

            configure?.Invoke(options);
            return(builder.UseTimer(options));
        }
Beispiel #4
0
        /// <inheritdoc />
        public IFluentHttpClient Add(FluentHttpClientBuilder clientBuilder)
        {
            if (clientBuilder == null)
            {
                throw new ArgumentNullException(nameof(clientBuilder));
            }
            var options = clientBuilder.Build();

            return(Add(options));
        }
 /// <summary>
 /// Use logger middleware which logs out going requests and incoming responses.
 /// </summary>
 /// <param name="builder">Builder instance</param>
 /// <param name="options"></param>
 public static FluentHttpClientBuilder UseLogging(this FluentHttpClientBuilder builder, LoggerHttpMiddlewareOptions options = null)
 => builder.UseMiddleware <LoggerHttpMiddleware>(options ?? new LoggerHttpMiddlewareOptions());
 /// <summary>
 /// Use timer middleware which measures how long the request takes.
 /// </summary>
 /// <param name="builder">Builder instance</param>
 /// <param name="options">Options to specify for the timer options.</param>
 public static FluentHttpClientBuilder UseTimer(this FluentHttpClientBuilder builder, TimerHttpMiddlewareOptions options = null)
 => builder.UseMiddleware <TimerHttpMiddleware>(options ?? new TimerHttpMiddlewareOptions());
 /// <summary>
 /// Use response caching middleware which get from cache or get from remote and cache responses.
 /// </summary>
 /// <param name="builder">Builder instance</param>
 /// <param name="options"></param>
 public static FluentHttpClientBuilder UseResponseCaching(this FluentHttpClientBuilder builder, ResponseCacheHttpMiddlewareOptions options = null)
 => builder.UseMiddleware <ResponseCacheHttpMiddleware>(options ?? new ResponseCacheHttpMiddlewareOptions());