コード例 #1
0
        private void EnsureConnectionInitialized()
        {
            lock (m_Lock)
            {
                if (m_Connection == null)
                {
                    m_BaseAddress = CalculateBaseAddress();

                    var requestHandler = new HttpClientHandler();

                    if ((requestHandler.Proxy != null) && (requestHandler.Proxy.Credentials == null))
                    {
                        requestHandler.Proxy.Credentials = CredentialCache.DefaultCredentials;
                    }

                    if (requestHandler.SupportsAutomaticDecompression)
                    {
                        requestHandler.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
                    }

                    var clientLogger = new HttpClientLogger(m_Logger, requestHandler);

                    m_Connection             = new HttpClient(clientLogger);
                    m_Connection.BaseAddress = m_BaseAddress;
                    m_Connection.Timeout     = new TimeSpan(0, 2, 0);
                }

                System.Threading.Monitor.PulseAll(m_Lock);
            }
        }
コード例 #2
0
 public virtual void Setup()
 {
     Logger       = new Mock <ILogger>();
     InnerHandler = new MockHandler();
     Config       = new HttpClientLoggerConfig();
     Options      = new Mock <IOptions <HttpClientLoggerConfig> >();
     Options.SetupGet(o => o.Value).Returns(Config);
     Subject    = new HttpClientLogger(Logger.Object, Options.Object, InnerHandler);
     HttpClient = new HttpClient(Subject);
 }