コード例 #1
0
        public SystemNetHttpClientAdapter(AdapterOptions options)
        {
            _autoRedirect = options.AutoRedirect;
            var handler = new WebRequestHandler
            {
                AllowAutoRedirect = !(AutoRedirect.AutoRedirectAndForwardAuthorizationHeader.Equals(options.AutoRedirect) ||
                                      AutoRedirect.DoNotAutoRedirect.Equals(options.AutoRedirect)),
                UseCookies = false,
            };

            if (options.CachePolicy.Cache)
            {
                handler.CachePolicy = new RequestCachePolicy(RequestCacheLevel.Default);
            }

            if (options.AcceptEncoding.AcceptGzipAndDeflate)
            {
                handler.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
            }

            _client = new HttpClient(handler);

            if (options.Timeout != null)
            {
                _client.Timeout = options.Timeout.TimeSpan;
            }
        }
コード例 #2
0
        public SystemNetHttpClientAdapter(AdapterOptions options)
        {
            _autoRedirect = options.AutoRedirect;
            var handler = new WebRequestHandler
            {
                AllowAutoRedirect = !(AutoRedirect.AutoRedirectAndForwardAuthorizationHeader.Equals(options.AutoRedirect) ||
                                      AutoRedirect.DoNotAutoRedirect.Equals(options.AutoRedirect)),
                UseCookies = false,
            };

            if (options.CachePolicy.Cache)
            {
                handler.CachePolicy = new RequestCachePolicy(RequestCacheLevel.Default);
            }

            if (options.AcceptEncoding.AcceptGzipAndDeflate)
            {
                handler.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
            }

            _client = new HttpClient(handler);

            if (options.Timeout != null)
            {
                _client.Timeout = options.Timeout.TimeSpan;
            }
        }
コード例 #3
0
 private HttpClientAdapter CreateClient(AdapterOptions options)
 {
     HttpClientAdapter adapter;
     if (!Adapters.TryGetValue(options, out adapter))
     {
         Adapters[options] = adapter = new SystemNetHttpClientAdapter(options);
     }
     return adapter;
 }
コード例 #4
0
        private HttpClientAdapter CreateClient(AdapterOptions options)
        {
            HttpClientAdapter adapter;

            if (!Adapters.TryGetValue(options, out adapter))
            {
                Adapters[options] = adapter = new SystemNetHttpClientAdapter(options);
            }
            return(adapter);
        }
コード例 #5
0
        public HttpClientAdapter CreateClient(PipelineOptions options)
        {
            var adapterOptions = new AdapterOptions
            {
                AutoRedirect = AutoRedirect.AutoRedirectButDoNotForwardAuthorizationHeader,
                CachePolicy = new CachePolicy {Cache = false},
                AcceptEncoding = new AcceptEncoding {AcceptGzipAndDeflate = true}
            };

            options.Use<AutoRedirect>(option => { adapterOptions.AutoRedirect = option; });
            options.Use<CachePolicy>(option => { adapterOptions.CachePolicy = option; });
            options.Use<AcceptEncoding>(option => { adapterOptions.AcceptEncoding = option; });

            return CreateClient(adapterOptions);
        }
コード例 #6
0
        public HttpClientAdapter CreateClient(PipelineOptions options)
        {
            var adapterOptions = new AdapterOptions
            {
                AutoRedirect = AutoRedirect.AutoRedirectButDoNotForwardAuthorizationHeader,
                CachePolicy  = new CachePolicy {
                    Cache = false
                },
                AcceptEncoding = new AcceptEncoding {
                    AcceptGzipAndDeflate = true
                }
            };

            options.Use <AutoRedirect>(option => { adapterOptions.AutoRedirect = option; });
            options.Use <CachePolicy>(option => { adapterOptions.CachePolicy = option; });
            options.Use <AcceptEncoding>(option => { adapterOptions.AcceptEncoding = option; });
            options.Use <RequestTimeout>(option => adapterOptions.Timeout = option);

            return(CreateClient(adapterOptions));
        }