this IRestHttpClient restHttpClient, BaseRestRequest request, ILogger logger, Func <TDto, TModel> dtoToModelConverter) { try {
public async Task <bool> RefreshToken(IRestHttpClient restHttpClient) { if (_refreshTokenStatus == RefreshTokenStatus.Refreshed) { return(true); } Interlocked.Increment(ref _entries); await _semaphoreSlim.WaitAsync().ConfigureAwait(false); if (_refreshTokenStatus == RefreshTokenStatus.CanBeRefreshed) { _refreshTokenStatus = await TryRefreshToken(restHttpClient).ConfigureAwait(false); } _semaphoreSlim.Release(); Interlocked.Decrement(ref _entries); if (Interlocked.Read(ref _entries) == 0 && _refreshTokenStatus != RefreshTokenStatus.Error) { _refreshTokenStatus = RefreshTokenStatus.CanBeRefreshed; } return(_refreshTokenStatus != RefreshTokenStatus.Error); }
public static T Create(IRestHttpClient client, IConfiguration configuration) { object proxy = Create <T, ServiceProxy <T> >(); ((ServiceProxy <T>)proxy).SetParameters(client, configuration); return((T)proxy); }
public UploadImageService( IChatConfig chatConfig, IRestHttpClient httpClient, ILogManager logManager) { _chatConfig = chatConfig; _httpClient = httpClient; _logger = logManager.GetLogger <UploadImageService>(); }
this IRestHttpClient restHttpClient, BaseRestRequest request, ILogger logger, Func <TDto, TModel> dtoToModelConverter, bool ignoreCache) { try { if (!(restHttpClient is CachedHttpClient client))
public static async Task <TModel> GetModelAsync <TModel, TDto>( this IRestHttpClient restHttpClient, BaseRestRequest request, ILogger logger, Func <TDto, TModel> dtoToModelConverter) { var result = await restHttpClient.GetModelOrExceptionAsync(request, logger, dtoToModelConverter); return(result.Model); }
public AuthService( IJsonSerializer jsonSerializer, IRestHttpClient restHttpClient, ILogManager logManager, IAccountService accountService, AuthConfig authConfig) { _remoteAuthService = new RemoteAuthService(jsonSerializer, restHttpClient, logManager, authConfig); _accountService = accountService; }
/// <summary> /// Загрузить данные в базу /// </summary> public static async Task <IResultError> PostData(IRestHttpClient restClientBoutique, IBoutiqueLogger boutiqueLogger) => await restClientBoutique.ToResultValue(). Void(_ => boutiqueLogger.ShowMessage("Начало загрузки данных")). ResultValueBindErrorsOkAsync(restClient => GenderUpload(restClient, boutiqueLogger)). ResultValueBindErrorsOkBindAsync(restClient => CategoryUpload(restClient, boutiqueLogger)). ResultValueBindErrorsOkBindAsync(restClient => ColorUpload(restClient, boutiqueLogger)). ResultValueBindErrorsOkBindAsync(restClient => ClothesTypeUpload(restClient, boutiqueLogger)). ResultValueBindErrorsOkBindAsync(restClient => SizeUpload(restClient, boutiqueLogger)). ResultValueBindErrorsOkBindAsync(restClient => SizeGroupUpload(restClient, boutiqueLogger)). ResultValueBindErrorsOkBindAsync(restClient => ClothesUpload(restClient, boutiqueLogger)). VoidTaskAsync(_ => boutiqueLogger.ShowMessage("Загрузка данных завершена"));
public RemoteAuthService( IJsonSerializer jsonSerializer, IRestHttpClient restHttpClient, ILogManager logManager, AuthConfig authConfig) { _jsonSerializer = jsonSerializer; _restHttpClient = restHttpClient; _authConfig = authConfig; _logger = logManager.GetLogger <RemoteAuthService>(); }
public HttpChatAdapter( IRestHttpClient httpClient, ILogManager logManager, IJsonSerializer jsonSerializer, IChatConfig chatConfig) { _httpClient = httpClient; _logger = logManager.GetLogger <HttpChatAdapter>(); _jsonSerializer = jsonSerializer; _chatConfig = chatConfig; }
public StripeRemoteService( StripeConfig stripeConfig, IRestHttpClient restHttpClient, ILogManager logManager, IJsonSerializer jsonSerializer) { _stripeConfig = stripeConfig; _restHttpClient = restHttpClient; _jsonSerializer = jsonSerializer; _logger = logManager.GetLogger <StripeRemoteService>(); }
/// <summary> /// Получить сервис одежды /// </summary> public static IClothesRestService GetClothesRestService(IRestHttpClient restHttpClient) => new ClothesRestService(restHttpClient, new ClothesTransferConverter(), new ClothesDetailTransferConverter(new ColorTransferConverter(), new SizeGroupMainTransferConverter(new SizeTransferConverter())), new ClothesMainTransferConverter(new ClothesImageTransferConverter(), new GenderTransferConverter(), new ClothesTypeTransferConverter(), new ColorTransferConverter(), new SizeGroupMainTransferConverter(new SizeTransferConverter())), new ClothesImageTransferConverter());
public ClothesRestService(IRestHttpClient restHttpClient, IClothesTransferConverter clothesTransferConverter, IClothesDetailTransferConverter clothesDetailTransferConverter, IClothesMainTransferConverter clothesMainTransferConverter, IClothesImageTransferConverter clothesImageTransferConverter) : base(restHttpClient, clothesMainTransferConverter) { _clothesTransferConverter = clothesTransferConverter; _clothesDetailTransferConverter = clothesDetailTransferConverter; _clothesImageTransferConverter = clothesImageTransferConverter; }
/// <summary> /// Загрузить данные в базу /// </summary> public static async Task <IResultError> DeleteData(IRestHttpClient httpClient, IBoutiqueLogger boutiqueLogger) => await httpClient.ToResultValue(). Void(_ => boutiqueLogger.ShowMessage("Начало удаления данных")). ResultValueBindErrorsOkAsync(restClient => SizeGroupDelete(restClient, boutiqueLogger)). ResultValueBindErrorsOkBindAsync(restClient => ClothesTypeDelete(restClient, boutiqueLogger)). ResultValueBindErrorsOkBindAsync(restClient => GenderDelete(restClient, boutiqueLogger)). ResultValueBindErrorsOkBindAsync(restClient => CategoryDelete(restClient, boutiqueLogger)). ResultValueBindErrorsOkBindAsync(restClient => ColorDelete(restClient, boutiqueLogger)). ResultValueBindErrorsOkBindAsync(restClient => SizeDelete(restClient, boutiqueLogger)). ResultValueBindErrorsOkBindAsync(restClient => ClothesDelete(restClient, boutiqueLogger)). VoidTaskAsync(_ => boutiqueLogger.ShowMessage("Удаление данных завершено"));
public StripeService( IRestHttpClient restHttpClient, ILogManager logManager, IMessageHub messageHub, IJsonSerializer jsonSerializer) { _restHttpClient = restHttpClient; _logManager = logManager; _messageHub = messageHub; _jsonSerializer = jsonSerializer; }
public StripeService( IRestHttpClient restHttpClient, ILogManager logManager, IMessageHub messageHub, IJsonSerializer jsonSerializer, Func <UIViewController> getUiViewControllerFunc) { _restHttpClient = restHttpClient; _logManager = logManager; _messageHub = messageHub; _jsonSerializer = jsonSerializer; _getUiViewControllerFunc = getUiViewControllerFunc; }
protected override async Task <RefreshTokenStatus> TryRefreshToken(IRestHttpClient restHttpClient) { var attemptCount = 3; var result = RefreshTokenStatus.Error; var loginResult = default(LoginResultDto); while (attemptCount > 0 && result != RefreshTokenStatus.Refreshed) { try { _logger.Info("Try refresh access token..."); var request = new RefreshTokenRequest(_accountService.RefreshToken, _authConfig); loginResult = await restHttpClient .TrySendAndDeserializeAsync <LoginResultDto>(request, _logger) .ConfigureAwait(false); if (loginResult != null) { result = RefreshTokenStatus.Refreshed; } _logger.Info("Access token refreshed"); } catch (Exception ex) { _logger.Error(ex); } finally { attemptCount--; } } if (loginResult != null) { try { _accountService.ResetTokens(loginResult.AccessToken, loginResult.RefreshToken); _logger.Info("Access token saved"); } catch (Exception) { _logger.Error("Access token is not saved"); } } if (result == RefreshTokenStatus.Error) { //TODO: logout } return(result); }
public RestApiClient(AppSettings appSettings, ICache cache, IRestHttpClient httpClient) { if (appSettings == null) { throw new ArgumentNullException(nameof(appSettings)); } _cache = cache ?? throw new ArgumentNullException(nameof(cache)); _httpClient = httpClient ?? throw new ArgumentNullException(nameof(httpClient)); _baseUrl = $"https://{appSettings.Account}.visualstudio.com"; }
public ApprovalsApiClient(IRestHttpClient client) { _client = client; }
protected abstract Task <RefreshTokenStatus> TryRefreshToken(IRestHttpClient restHttpClient);
/// <summary> /// Получить сервис размера одежды /// </summary> public static ISizeGroupRestService GetSizeGroupRestService(IRestHttpClient restHttpClient) => new SizeGroupRestService(restHttpClient, new SizeGroupMainTransferConverter(new SizeTransferConverter()));
public RoatpService(IRoatpApiHttpClientFactory roatpApiHttpClientFactory) { _client = roatpApiHttpClientFactory.CreateClient(); }
public ProviderService(IRoatpApiHttpClientFactory roatpApiHttpClientFactory) { _client = roatpApiHttpClientFactory.CreateRestHttpClient(); }
/// <summary> /// Получить сервис авторизации /// </summary> public static IAuthorizeRestService GetAuthorizeRestService(IRestHttpClient restHttpClient) => new AuthorizeRestService(restHttpClient, new AuthorizeTransferConverter());
public StreamApiService(IRestHttpClient httpClient) { _httpClient = httpClient ?? throw new ArgumentNullException(nameof(httpClient)); }
/// <summary> /// Получить сервис категорий одежды /// </summary> public static IColorRestService GetColorRestService(IRestHttpClient restHttpClient) => new ColorRestService(restHttpClient, new ColorTransferConverter());
/// <summary> /// Получить сервис типа пола /// </summary> public static IGenderRestService GetGenderRestService(IRestHttpClient restHttpClient) => new GenderRestService(restHttpClient, new GenderTransferConverter(), new ClothesTypeTransferConverter(). Map(clothesTypeConverter => new CategoryClothesTypeTransferConverter(clothesTypeConverter)). Map(categoryConverter => new GenderCategoryTransferConverter(categoryConverter)));
/// <summary> /// Получить сервис типа одежды /// </summary> public static IClothesTypeRestService GetClothesTypeRestService(IRestHttpClient restHttpClient) => new ClothesTypeRestService(restHttpClient, new ClothesTypeMainTransferConverter(new CategoryTransferConverter()));
public RegistrationService(ILog log, IRegistrationApiHttpClientFactory registrationApiHttpClientFactory) { _log = log; _httpClient = registrationApiHttpClientFactory.CreateRestHttpClient(); }
/// <summary> /// Получить сервис категорий одежды /// </summary> public static ICategoryRestService GetCategoryRestService(IRestHttpClient restHttpClient) => new CategoryRestService(restHttpClient, new CategoryMainTransferConverter(new GenderTransferConverter()));