public RemoteData(string appSecret, IRequestTimeoutCalculator requestTimeoutCalculator)
        {
            Checks.ArgumentNotNullOrEmpty(appSecret, "appSecret");

            DebugLogger.LogConstructor();
            DebugLogger.LogVariable(appSecret, "appSecret");

            _appSecret = appSecret;

            var mainSettings = Settings.GetMainApiConnectionSettings();

            string overrideMainUrl;

            if (EnvironmentInfo.TryReadEnvironmentVariable(EnvironmentVariables.ApiUrlEnvironmentVariable, out overrideMainUrl))
            {
                var overrideMainUri = new Uri(overrideMainUrl);

                mainSettings.MainServer.Host     = overrideMainUri.Host;
                mainSettings.MainServer.Port     = overrideMainUri.Port;
                mainSettings.MainServer.UseHttps = overrideMainUri.Scheme == Uri.UriSchemeHttps;
            }

            _mainApiConnection = new MainApiConnection(mainSettings)
            {
                HttpClient = new UnityHttpClient(),
                RequestTimeoutCalculator = requestTimeoutCalculator,
                RequestRetryStrategy     = new SimpleInfiniteRequestRetryStrategy(),
                Logger = PatcherLogManager.DefaultLogger
            };
        }
Beispiel #2
0
 public App(string appDataPath, string appSecret, int overrideLatestVersionId,
            IRequestTimeoutCalculator requestTimeoutCalculator) : this(
         appDataPath,
         CreateDefaultLocalDirectory(appDataPath),
         CreateDefaultLocalMetaData(appDataPath),
         CreateDefaultDownloadDirectory(appDataPath),
         CreateDefaultRemoteData(appSecret, requestTimeoutCalculator),
         CreateDefaultRemoteMetaData(appSecret, requestTimeoutCalculator), overrideLatestVersionId)
 {
 }
        public RemoteMetaData([NotNull] string appSecret, [NotNull] IRequestTimeoutCalculator requestTimeoutCalculator)
        {
            if (string.IsNullOrEmpty(appSecret))
            {
                throw new ArgumentException("Value cannot be null or empty.", "appSecret");
            }
            if (requestTimeoutCalculator == null)
            {
                throw new ArgumentNullException("requestTimeoutCalculator");
            }

            DebugLogger.LogConstructor();
            DebugLogger.LogVariable(appSecret, "appSecret");

            _appSecret = appSecret;

            var mainSettings = Settings.GetMainApiConnectionSettings();

            _mainApiConnection = new MainApiConnection(mainSettings)
            {
                HttpClient = new UnityHttpClient(),
                RequestTimeoutCalculator = requestTimeoutCalculator,
                RequestRetryStrategy     = new SimpleInfiniteRequestRetryStrategy(),
                Logger = PatcherLogManager.DefaultLogger
            };

            _mainApiConnectionWithoutRetry = new MainApiConnection(mainSettings)
            {
                HttpClient = new UnityHttpClient(),
                RequestTimeoutCalculator = requestTimeoutCalculator,
                Logger = PatcherLogManager.DefaultLogger
            };

            var keysSettings = Settings.GetKeysApiConnectionSettings();

            _keysApiConnection = new KeysApiConnection(keysSettings)
            {
                HttpClient = new UnityHttpClient(),
                RequestTimeoutCalculator = requestTimeoutCalculator,
                Logger = PatcherLogManager.DefaultLogger
            };
        }
Beispiel #4
0
 private static IRemoteMetaData CreateDefaultRemoteMetaData(string appSecret,
                                                            IRequestTimeoutCalculator requestTimeoutCalculator)
 {
     return(new RemoteMetaData(appSecret, requestTimeoutCalculator));
 }
        public RemoteMetaData([NotNull] string appSecret, [NotNull] IRequestTimeoutCalculator requestTimeoutCalculator)
        {
            if (string.IsNullOrEmpty(appSecret))
            {
                throw new ArgumentException("Value cannot be null or empty.", "appSecret");
            }
            if (requestTimeoutCalculator == null)
            {
                throw new ArgumentNullException("requestTimeoutCalculator");
            }

            DebugLogger.LogConstructor();
            DebugLogger.LogVariable(appSecret, "appSecret");

            _appSecret = appSecret;

            var mainSettings = Settings.GetMainApiConnectionSettings();

            string overrideMainUrl;

            if (EnvironmentInfo.TryReadEnvironmentVariable(EnvironmentVariables.MainUrlEnvironmentVariable, out overrideMainUrl))
            {
                var overrideMainUri = new Uri(overrideMainUrl);

                mainSettings.MainServer.Host     = overrideMainUri.Host;
                mainSettings.MainServer.Port     = overrideMainUri.Port;
                mainSettings.MainServer.UseHttps = overrideMainUri.Scheme == Uri.UriSchemeHttps;
            }

            _mainApiConnection = new MainApiConnection(mainSettings)
            {
                HttpClient = new UnityHttpClient(),
                RequestTimeoutCalculator = requestTimeoutCalculator,
                RequestRetryStrategy     = new SimpleInfiniteRequestRetryStrategy(),
                Logger = PatcherLogManager.DefaultLogger
            };

            _mainApiConnectionWithoutRetry = new MainApiConnection(mainSettings)
            {
                HttpClient = new UnityHttpClient(),
                RequestTimeoutCalculator = requestTimeoutCalculator,
                Logger = PatcherLogManager.DefaultLogger
            };

            var keysSettings = Settings.GetKeysApiConnectionSettings();

            string overrideKeysUrl;

            if (EnvironmentInfo.TryReadEnvironmentVariable(EnvironmentVariables.KeysUrlEnvironmentVariable, out overrideKeysUrl))
            {
                var overrideKeysUri = new Uri(overrideKeysUrl);

                keysSettings.MainServer.Host     = overrideKeysUri.Host;
                keysSettings.MainServer.Port     = overrideKeysUri.Port;
                keysSettings.MainServer.UseHttps = overrideKeysUri.Scheme == Uri.UriSchemeHttps;
            }

            _keysApiConnection = new KeysApiConnection(keysSettings)
            {
                HttpClient = new UnityHttpClient(),
                RequestTimeoutCalculator = requestTimeoutCalculator,
                Logger = PatcherLogManager.DefaultLogger
            };
        }