/// <summary> /// Sets inner HTTP handler by using builder to the current handler, if it is of type DelegatingHandler. /// </summary> /// <typeparam name="TInnerHandler">Inner HttpMessageHandler type to set.</typeparam> /// <param name="httpMessageHandlerBuilder">Inner HttpMessageHandler builder.</param> /// <returns>The same HTTP handler builder.</returns> public IHttpMessageHandlerBuilder WithInnerHandler <TInnerHandler>( Action <IInnerHttpMessageHandlerBuilder> httpMessageHandlerBuilder) where TInnerHandler : HttpMessageHandler, new() { var newHttpMessageHandlerBuilder = new InnerHttpMessageHandlerBuilder(new TInnerHandler()); httpMessageHandlerBuilder(newHttpMessageHandlerBuilder); return(this.WithInnerHandler(newHttpMessageHandlerBuilder.AndProvideTheHandler())); }