public HandshakeProcessor(ILogger <HandshakeProcessor> logger, IEventBus eventBus, IDateTimeProvider dateTimeProvider, IRandomNumberGenerator randomNumberGenerator, NodeImplementation nodeImplementation, IPeerBehaviorManager peerBehaviorManager, IInitialBlockDownloadTracker initialBlockDownloadState, IUserAgentBuilder userAgentBuilder, ILocalServiceProvider localServiceProvider, IHeadersTree headersTree, SelfConnectionTracker selfConnectionTracker) : base(logger, eventBus, peerBehaviorManager, isHandshakeAware: true, // we are performing handshake so we want to receive messages before handshake status receiveMessagesOnlyIfHandshaked: false) { _dateTimeProvider = dateTimeProvider; _randomNumberGenerator = randomNumberGenerator; _nodeImplementation = nodeImplementation; _initialBlockDownloadState = initialBlockDownloadState; _userAgentBuilder = userAgentBuilder; _localServiceProvider = localServiceProvider; _headersTree = headersTree; _selfConnectionTracker = selfConnectionTracker; _status = new HandshakeProcessorStatus(this); }
public ManagedHttpDispatcher(IHttpProxySettingsProvider proxySettingsProvider, ICreateManagedWebProxy createManagedWebProxy, IUserAgentBuilder userAgentBuilder, IPlatformInfo platformInfo, Logger logger) { _proxySettingsProvider = proxySettingsProvider; _createManagedWebProxy = createManagedWebProxy; _userAgentBuilder = userAgentBuilder; _platformInfo = platformInfo; _logger = logger; }
public HandshakeProcessor(ILogger <HandshakeProcessor> logger, IEventBus eventBus, IDateTimeProvider dateTimeProvider, IRandomNumberGenerator randomNumberGenerator, IPeerBehaviorManager peerBehaviorManager, IUserAgentBuilder userAgentBuilder ) : base(logger, eventBus, peerBehaviorManager, isHandshakeAware: true) { _dateTimeProvider = dateTimeProvider; _randomNumberGenerator = randomNumberGenerator; _userAgentBuilder = userAgentBuilder; }
public ManagedHttpDispatcher(IHttpProxySettingsProvider proxySettingsProvider, ICreateManagedWebProxy createManagedWebProxy, ICertificateValidationService certificateValidationService, IUserAgentBuilder userAgentBuilder, ICacheManager cacheManager) { _proxySettingsProvider = proxySettingsProvider; _createManagedWebProxy = createManagedWebProxy; _certificateValidationService = certificateValidationService; _userAgentBuilder = userAgentBuilder; _httpClientCache = cacheManager.GetCache <System.Net.Http.HttpClient>(typeof(ManagedHttpDispatcher)); }
public HttpClient(IUserAgentBuilder userAgentBuilder, MachineId machineId) { ServicePointManager.DefaultConnectionLimit = 12; ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; _userAgentBuilder = userAgentBuilder; _machineId = machineId; _handler = new HttpClientHandler { AllowAutoRedirect = true, AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate }; }
public HttpClient(IEnumerable <IHttpRequestInterceptor> requestInterceptors, ICacheManager cacheManager, IRateLimitService rateLimitService, IHttpDispatcher httpDispatcher, IUserAgentBuilder userAgentBuilder, Logger logger) { _requestInterceptors = requestInterceptors.ToList(); _rateLimitService = rateLimitService; _httpDispatcher = httpDispatcher; _userAgentBuilder = userAgentBuilder; _logger = logger; ServicePointManager.DefaultConnectionLimit = 12; _cookieContainerCache = cacheManager.GetCache <CookieContainer>(typeof(HttpClient)); }
internal DefaultDataStore(IClient client, IRequestExecutor requestExecutor, string baseUrl, IJsonSerializer serializer, ILogger logger, IUserAgentBuilder userAgentBuilder, ICacheProvider cacheProvider, TimeSpan identityMapExpiration) { if (client == null) { throw new ArgumentNullException(nameof(client)); } if (requestExecutor == null) { throw new ArgumentNullException(nameof(requestExecutor)); } if (string.IsNullOrEmpty(baseUrl)) { throw new ArgumentNullException(nameof(baseUrl)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (cacheProvider == null) { throw new ArgumentNullException(nameof(cacheProvider), "Use NullCacheProvider if you wish to turn off caching."); } this.baseUrl = baseUrl; this.logger = logger; this.requestExecutor = requestExecutor; this.cacheProvider = cacheProvider; this.cacheResolver = new DefaultCacheResolver(cacheProvider, this.logger); this.userAgentBuilder = userAgentBuilder; this.client = client; this.serializer = new JsonSerializationProvider(serializer); this.identityMap = new MemoryCacheIdentityMap <ResourceData>(identityMapExpiration, this.logger); this.resourceFactory = new DefaultResourceFactory(this, this.identityMap); this.resourceConverter = new DefaultResourceConverter(); this.uriQualifier = new UriQualifier(baseUrl); this.defaultAsyncFilters = this.BuildDefaultAsyncFilterChain(); this.defaultSyncFilters = this.BuildDefaultSyncFilterChain(); }
public DefaultClient( IClientApiKey apiKey, string baseUrl, AuthenticationScheme authenticationScheme, int connectionTimeout, IWebProxy proxy, IHttpClient httpClient, IJsonSerializer serializer, ICacheProvider cacheProvider, IUserAgentBuilder userAgentBuilder, ILogger logger, TimeSpan identityMapExpiration) { if (apiKey == null || !apiKey.IsValid()) { throw new ArgumentException("API Key is not valid."); } if (string.IsNullOrEmpty(baseUrl)) { throw new ArgumentNullException("Base URL cannot be empty."); } if (connectionTimeout < 0) { throw new ArgumentException("Timeout cannot be negative."); } this.logger = logger; this.apiKey = apiKey; this.baseUrl = baseUrl; this.connectionTimeout = connectionTimeout; this.proxy = proxy; this.cacheProvider = cacheProvider; this.authenticationScheme = authenticationScheme; this.serializer = serializer; this.httpClient = httpClient; var requestExecutor = new DefaultRequestExecutor(httpClient, apiKey, authenticationScheme, this.logger); this.dataStore = new DefaultDataStore(this as IClient, requestExecutor, baseUrl, this.serializer, this.logger, userAgentBuilder, cacheProvider, identityMapExpiration); this.dataStoreAsync = this.dataStore as IInternalAsyncDataStore; this.dataStoreSync = this.dataStore as IInternalSyncDataStore; }
public DefaultClient( IClientApiKey apiKey, string baseUrl, AuthenticationScheme authenticationScheme, int connectionTimeout, IWebProxy proxy, IHttpClient httpClient, IJsonSerializer serializer, ICacheProvider cacheProvider, IUserAgentBuilder userAgentBuilder, ILogger logger, TimeSpan identityMapExpiration) { if (apiKey == null || !apiKey.IsValid()) { throw new ArgumentException("API Key is not valid."); } if (string.IsNullOrEmpty(baseUrl)) { throw new ArgumentNullException("Base URL cannot be empty."); } if (connectionTimeout < 0) { throw new ArgumentException("Timeout cannot be negative."); } this.logger = logger; this.apiKey = apiKey; this.baseUrl = baseUrl; this.connectionTimeout = connectionTimeout; this.proxy = proxy; this.cacheProvider = cacheProvider; this.authenticationScheme = authenticationScheme; this.serializer = serializer; this.httpClient = httpClient; var requestExecutor = new DefaultRequestExecutor(httpClient, apiKey, authenticationScheme, this.logger); this.dataStore = new DefaultDataStore(this as IClient, requestExecutor, baseUrl, this.serializer, this.logger, userAgentBuilder, cacheProvider, identityMapExpiration); this.dataStoreAsync = this.dataStore as IInternalAsyncDataStore; this.dataStoreSync = this.dataStore as IInternalSyncDataStore; }
public HandshakeProcessor(ILogger <HandshakeProcessor> logger, IEventBus eventBus, IDateTimeProvider dateTimeProvider, IRandomNumberGenerator randomNumberGenerator, NodeImplementation nodeImplementation, IPeerBehaviorManager peerBehaviorManager, IUserAgentBuilder userAgentBuilder ) : base(logger, eventBus, peerBehaviorManager, isHandshakeAware: true, // we are performing handshake so we want to receive messages before handshake status receiveMessagesOnlyIfHandshaked: false) { _dateTimeProvider = dateTimeProvider; _randomNumberGenerator = randomNumberGenerator; _nodeImplementation = nodeImplementation; _userAgentBuilder = userAgentBuilder; _status = new HandshakeProcessorStatus(this); }
public ManagedHttpDispatcher(IHttpProxySettingsProvider proxySettingsProvider, ICreateManagedWebProxy createManagedWebProxy, IUserAgentBuilder userAgentBuilder) { _proxySettingsProvider = proxySettingsProvider; _createManagedWebProxy = createManagedWebProxy; _userAgentBuilder = userAgentBuilder; }
public CurlHttpDispatcher(IHttpProxySettingsProvider proxySettingsProvider, IUserAgentBuilder userAgentBuilder, Logger logger) { _proxySettingsProvider = proxySettingsProvider; _userAgentBuilder = userAgentBuilder; _logger = logger; }
internal DefaultClientBuilder(IClientApiKeyBuilder clientApiKeyBuilder, IUserAgentBuilder userAgentBuilder) : this(userAgentBuilder) { this.clientApiKeyBuilder = clientApiKeyBuilder; }
public DefaultClientBuilder(IUserAgentBuilder userAgentBuilder) { this.userAgentBuilder = userAgentBuilder; this.clientApiKeyBuilder = ClientApiKeys.Builder(); }