internal WebBrowser(ArchiLogger archiLogger, IWebProxy webProxy = null, bool extendedTimeout = false) { ArchiLogger = archiLogger ?? throw new ArgumentNullException(nameof(archiLogger)); HttpClientHandler httpClientHandler = new HttpClientHandler { AllowAutoRedirect = false, // This must be false if we want to handle custom redirection schemes such as "steammobile" AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip, CookieContainer = CookieContainer, Proxy = webProxy, UseProxy = webProxy != null }; if (!RuntimeCompatibility.IsRunningOnMono) { httpClientHandler.MaxConnectionsPerServer = MaxConnections; } HttpClient = new HttpClient(httpClientHandler) { Timeout = TimeSpan.FromSeconds(extendedTimeout ? ExtendedTimeoutMultiplier * Program.GlobalConfig.ConnectionTimeout : Program.GlobalConfig.ConnectionTimeout) }; // Most web services expect that UserAgent is set, so we declare it globally HttpClient.DefaultRequestHeaders.UserAgent.ParseAdd("Valve" + "/" + "Steam HTTP Client 1.0"); }
internal WebBrowser(ArchiLogger archiLogger, IWebProxy?webProxy = null, bool extendedTimeout = false) { ArchiLogger = archiLogger ?? throw new ArgumentNullException(nameof(archiLogger)); HttpClientHandler = new HttpClientHandler { AllowAutoRedirect = false, // This must be false if we want to handle custom redirection schemes such as "steammobile://" #if NETFRAMEWORK AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip, #else AutomaticDecompression = DecompressionMethods.All, #endif CookieContainer = CookieContainer }; if (webProxy != null) { HttpClientHandler.Proxy = webProxy; HttpClientHandler.UseProxy = true; } if (!RuntimeCompatibility.IsRunningOnMono) { HttpClientHandler.MaxConnectionsPerServer = MaxConnections; } HttpClient = GenerateDisposableHttpClient(extendedTimeout); }
internal ArchiHandler(ArchiLogger archiLogger) { if (archiLogger == null) { throw new ArgumentNullException(nameof(archiLogger)); } ArchiLogger = archiLogger; }
internal WebBrowser(ArchiLogger archiLogger, IWebProxy webProxy = null, bool extendedTimeout = false) { ArchiLogger = archiLogger ?? throw new ArgumentNullException(nameof(archiLogger)); HttpClientHandler httpClientHandler = new HttpClientHandler { AllowAutoRedirect = false, // This must be false if we want to handle custom redirection schemes such as "steammobile" AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip, CookieContainer = CookieContainer, Proxy = webProxy, UseProxy = webProxy != null }; if (!RuntimeCompatibility.IsRunningOnMono) { httpClientHandler.MaxConnectionsPerServer = MaxConnections; } HttpClient = new HttpClient(httpClientHandler) { Timeout = TimeSpan.FromSeconds(extendedTimeout ? ExtendedTimeoutMultiplier * Program.GlobalConfig.ConnectionTimeout : Program.GlobalConfig.ConnectionTimeout) }; // Most web services expect that UserAgent is set, so we declare it globally // If you by any chance came here with a very "clever" idea of changing default ASF user-agent then here is a very good advice from me: don't, for your own safety - you've been warned HttpClient.DefaultRequestHeaders.UserAgent.ParseAdd(SharedInfo.PublicIdentifier + "/" + SharedInfo.Version + " (+" + SharedInfo.ProjectURL + ")"); }
internal ArchiHandler(ArchiLogger archiLogger, SteamUnifiedMessages steamUnifiedMessages) { if ((archiLogger == null) || (steamUnifiedMessages == null)) { throw new ArgumentNullException(nameof(archiLogger) + " || " + nameof(steamUnifiedMessages)); } ArchiLogger = archiLogger; UnifiedChatRoomService = steamUnifiedMessages.CreateService <IChatRoom>(); UnifiedClanChatRoomsService = steamUnifiedMessages.CreateService <IClanChatRooms>(); UnifiedFriendMessagesService = steamUnifiedMessages.CreateService <IFriendMessages>(); UnifiedPlayerService = steamUnifiedMessages.CreateService <IPlayer>(); }
internal ArchiHandler(ArchiLogger archiLogger, SteamUnifiedMessages steamUnifiedMessages) { if (steamUnifiedMessages == null) { throw new ArgumentNullException(nameof(steamUnifiedMessages)); } ArchiLogger = archiLogger ?? throw new ArgumentNullException(nameof(archiLogger)); UnifiedChatRoomService = steamUnifiedMessages.CreateService <IChatRoom>(); UnifiedClanChatRoomsService = steamUnifiedMessages.CreateService <IClanChatRooms>(); UnifiedEconService = steamUnifiedMessages.CreateService <IEcon>(); UnifiedFriendMessagesService = steamUnifiedMessages.CreateService <IFriendMessages>(); UnifiedPlayerService = steamUnifiedMessages.CreateService <IPlayer>(); UnifiedTwoFactorService = steamUnifiedMessages.CreateService <ITwoFactor>(); }
internal ArchiHandler([JetBrains.Annotations.NotNull] ArchiLogger archiLogger, [JetBrains.Annotations.NotNull] SteamUnifiedMessages steamUnifiedMessages) { if ((archiLogger == null) || (steamUnifiedMessages == null)) { throw new ArgumentNullException(nameof(archiLogger) + " || " + nameof(steamUnifiedMessages)); } ArchiLogger = archiLogger; UnifiedChatRoomService = steamUnifiedMessages.CreateService <IChatRoom>(); UnifiedClanChatRoomsService = steamUnifiedMessages.CreateService <IClanChatRooms>(); UnifiedEconService = steamUnifiedMessages.CreateService <IEcon>(); UnifiedFriendMessagesService = steamUnifiedMessages.CreateService <IFriendMessages>(); UnifiedPlayerService = steamUnifiedMessages.CreateService <IPlayer>(); UnifiedTwoFactorService = steamUnifiedMessages.CreateService <ITwoFactor>(); }
internal WebBrowser(ArchiLogger archiLogger) { ArchiLogger = archiLogger ?? throw new ArgumentNullException(nameof(archiLogger)); HttpClientHandler httpClientHandler = new HttpClientHandler { AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip, CookieContainer = CookieContainer }; HttpClient = new HttpClient(httpClientHandler) { Timeout = TimeSpan.FromSeconds(Program.GlobalConfig.ConnectionTimeout) }; // Most web services expect that UserAgent is set, so we declare it globally HttpClient.DefaultRequestHeaders.UserAgent.ParseAdd(SharedInfo.ServiceName + "/" + SharedInfo.Version); }
internal WebBrowser(ArchiLogger archiLogger, bool extendedTimeout = false) { ArchiLogger = archiLogger ?? throw new ArgumentNullException(nameof(archiLogger)); HttpClientHandler httpClientHandler = new HttpClientHandler { AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip, CookieContainer = CookieContainer, MaxConnectionsPerServer = MaxConnections, UseProxy = false }; HttpClient = new HttpClient(httpClientHandler) { Timeout = TimeSpan.FromSeconds(extendedTimeout ? ExtendedTimeoutMultiplier * Program.GlobalConfig.ConnectionTimeout : Program.GlobalConfig.ConnectionTimeout) }; // Most web services expect that UserAgent is set, so we declare it globally HttpClient.DefaultRequestHeaders.UserAgent.ParseAdd(SharedInfo.PublicIdentifier + "/" + SharedInfo.Version); }
internal ArchiHandler(ArchiLogger archiLogger) => ArchiLogger = archiLogger ?? throw new ArgumentNullException(nameof(archiLogger));