public override HttpMessageHandler Build() { if (PrimaryHandler != null) { return(CreateHandlerPipeline(PrimaryHandler, AdditionalHandlers)); } if (!Name.StartsWith(Const.ProxyPrefix)) { throw new SpiderException( "you are using proxy http client builder, but looks like your http client name is incorrect"); } var uri = Name.Replace(Const.ProxyPrefix, string.Empty); var handler = new ProxyHttpClientHandler { UseCookies = true, UseProxy = true, ProxyService = _proxyService, AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate, Proxy = new WebProxy(uri) }; DefaultHttpMessageHandlerBuilder.SetServerCertificateCustomValidationCallback(Services, handler); PrimaryHandler = handler; var result = CreateHandlerPipeline(PrimaryHandler, AdditionalHandlers); return(result); }
public void Ctor_Default_ReturnsExpectedInstance() { var result = new DefaultHttpMessageHandlerBuilder(); Assert.NotNull(result.PrimaryHandler); Assert.Empty(result.AdditionalHandlers); }
public SslTestRemoteService( IRemoteServiceFactory remoteServiceFactory, ILogManager logManager, HttpMessageHandler customHttpMessageHandler) { _logger = logManager.GetLogger <SslTestRemoteService>(); var customHttpMessageHandlerBuilder = new DefaultHttpMessageHandlerBuilder(customHttpMessageHandler); var httpClientBuilder = new HttpClientBuilder(customHttpMessageHandlerBuilder).WithBaseUrl(ApiUrl) .WithLogger(_logger) .Build(); _remoteService = remoteServiceFactory.Create <ISslApiService>(httpClientBuilder); }
public DefaultHttpMessageHandlerBuilderTests() { _primaryHandler = Substitute.For <HttpMessageHandler>(); _httpMessageHandlerBuilder = new DefaultHttpMessageHandlerBuilder(_primaryHandler); }