public CloudServiceClientBase(
            ILogger logger,
            IHttpClientFactory clientFactory,
            IHttpPlatformHelperService http_helper,
            IToast toast,
            IAuthHelper authHelper,
            ICloudServiceSettings settings,
            IModelValidator validator) : base(logger, http_helper, clientFactory)
        {
            this.authHelper = authHelper;
            this.toast      = toast;
            this.settings   = settings;
            ApiBaseUrl      = string.IsNullOrWhiteSpace(settings.ApiBaseUrl)
                ? throw new ArgumentNullException(nameof(ApiBaseUrl)) : settings.ApiBaseUrl;
            connection = new ApiConnection(logger, this, http_helper, validator);

            #region SetClients

            Account       = new AccountClient(connection);
            Manage        = new ManageClient(connection);
            AuthMessage   = new AuthMessageClient(connection);
            Version       = new VersionClient(connection);
            ActiveUser    = new ActiveUserClient(connection);
            Accelerate    = new AccelerateClient(connection);
            Script        = new ScriptClient(connection);
            DonateRanking = new DonateRankingClient(connection);

            #endregion
        }
예제 #2
0
        public CloudServiceClientBase(
            ILogger logger,
            IAuthHelper authHelper,
            IOptions <ICloudServiceSettings> options,
            IModelValidator validator)
        {
            this.logger     = logger;
            this.authHelper = authHelper;
            var client = CreateHttpClient();

            ApiBaseUrl         = string.IsNullOrWhiteSpace(options.Value.ApiBaseUrl) ? DefaultApiBaseUrl : options.Value.ApiBaseUrl;
            client.BaseAddress = new Uri(ApiBaseUrl);
            client.DefaultRequestHeaders.UserAgent.ParseAdd(UserAgent);
            client.DefaultRequestHeaders.Add(Constants.HeaderAppVersion,
                                             options.Value.AppVersion.ToStringN());
            connection = new ApiConnection(logger, client, this, validator);

            #region SetClients

            Account     = new AccountClient(connection);
            AuthMessage = new AuthMessageClient(connection);

            #endregion
        }