protected Task <IFlurlRequest> CreateRequest(IEnumerable <KeyValuePair <string, object> > parameters = null, CancellationToken cancellation = default, params object[] urlSegments) => _authClient.AuthenticateAsync(cancellation) .ThenAsync(accessToken => ClientFactory.Get(ClientConfig.BaseUrl) .Request(urlSegments) .SetQueryParams(parameters) .WithTimeout(TimeSpan.FromSeconds(60)) .WithOAuthBearerToken(accessToken));
public async Task <string> ImportBank(long id, CancellationToken cancellationToken = default) { var sessionConfiguration = await BuildUserSessionConfiguration(cancellationToken); var client = _flurlClientFactory.Get(_baseUrl); var request = client.Request("/bankConnections/import") .AddAuthorizationHeader(sessionConfiguration.AccessToken); try { var accountTypes = new List <string> { "Checking", "Savings", "CreditCard", "Security", "Loan", "Pocket", "Membership", "Bausparen" }; var importBankPayload = new FinImportBankRequest(id, "Test connection new", "XS2A", accountTypes); await request.PostJsonAsync(importBankPayload, cancellationToken); } catch (FlurlHttpException ex) { if (ex.StatusCode == 451) { var location = ex.Call.Response.Headers.FirstOrDefault("Location"); return(location); } var payload = await ex.GetResponseStringAsync(); _logger.LogError(ex, payload); } return(null); }
internal FtpClientProxy(IFtpClientProxyConfig config, IFlurlClientFactory client, TokenProvider tokenProvider, string host, NetworkCredential credentials) { this._config = config; _tokenProvider = tokenProvider; this.Host = host; this.Credentials = credentials; _client = client.Get(_config.FtpProxyWebInterfaceBaseUri) .Configure(c => { c.HttpClientFactory = new UntrustedCertClientFactory(); c.ConnectionLeaseTimeout = TimeSpan.FromMinutes(30); }) .WithHeader("Accept", "application/json, text/json") .WithHeader("Accept-Encoding", "gzip, deflate") .WithTimeout(TimeSpan.FromMinutes(20)) .AllowHttpStatus(HttpStatusCode.NotFound) ; _client.BaseUrl = _config.FtpProxyWebInterfaceBaseUri.ToString(); _connectionInfo = new ConnectionInfo { Host = this.Host, Username = this.Credentials.UserName, Password = this.Credentials.Password, }; }
public ManagementApiClientFactory( IFlurlClientFactory flurlClientFactory, IOptionsMonitor <Auth0Options> auth0OptionsMonitor) { this.flurlClient = flurlClientFactory.Get("https://dogger.eu.auth0.com/oauth/token"); this.auth0OptionsMonitor = auth0OptionsMonitor; }
public WipeCloudflareCacheCommandHandler( IOptionsMonitor <CloudflareOptions> cloudflareCacheOptionsMonitor, IFlurlClientFactory flurlClientFactory) { this.cloudflareCacheOptionsMonitor = cloudflareCacheOptionsMonitor; this.flurlClient = flurlClientFactory.Get("https://api.cloudflare.com"); }
public GeocodeService(IFlurlClientFactory flurlClientFac, IEnderecoRepository enderecoRepository, IGeoLocationRepository geoLocationRepository) { this._flurlClient = flurlClientFac.Get(_URL); this._enderecoRepository = enderecoRepository; this._geoLocationRepository = geoLocationRepository; }
public BiliBiliHelp(AppSettings appSettings, IFlurlClientFactory flurlClientFac, CacheLiteDb cache) { _flurlClient = flurlClientFac.Get(BilibiliApiBaseUrl); _caching = cache; _setting = appSettings.BiliBiliSetting; _canGetHistory = !string.IsNullOrEmpty(_setting.Cookie); }
public OrderCloudIntegrationsCardConnectService(OrderCloudIntegrationsCardConnectConfig config, string environment, IFlurlClientFactory flurlFactory) { Config = config; // if no credentials are provided in Test and UAT, responses will be mocked. noAccountCredentials = string.IsNullOrEmpty(config?.Authorization) && string.IsNullOrEmpty(config?.AuthorizationCad); appEnvironment = (AppEnvironment)Enum.Parse(typeof(AppEnvironment), environment); _flurl = flurlFactory.Get($"https://{Config?.Site}.{Config?.BaseUrl}/"); }
public BaseRepository(IFlurlClientFactory flurlFac, IConfig configuration) { _flurlClient = flurlFac.Get(configuration.UrlBase); _timeOut = configuration.TimeOut; _headers = configuration.Headers; }
/// <summary> /// Provides thread-safe access to a specific IFlurlClient, typically to configure settings and default headers. /// The URL is used to find the client, but keep in mind that the same client will be used in all calls to the same host by default. /// </summary> /// <param name="factory">This IFlurlClientFactory.</param> /// <param name="url">the URL used to find the IFlurlClient.</param> /// <param name="configAction">the action to perform against the IFlurlClient.</param> public static IFlurlClientFactory ConfigureClient(this IFlurlClientFactory factory, string url, Action <IFlurlClient> configAction) { var client = factory.Get(url); lock (_clientLocks.GetOrCreateValue(client)) { configAction(client); } return(factory); }
public GitHubClientFactory( IGitHubClient gitHubClient, IFlurlClientFactory flurlClientFactory, IOptionsMonitor <GitHubOptions> gitHubOptionsMonitor) { this.gitHubClient = gitHubClient; this.gitHubOptionsMonitor = gitHubOptionsMonitor; this.flurlClient = flurlClientFactory.Get("https://github.com/login/oauth/access_token"); }
public FlurlWrapperClient(IFlurlClientFactory clientFactory, IOptions <FlurlWrapperClientSettings> appSettings, string url) { _client = clientFactory.Get(url); _circuitBreaker = Policy .Handle <FlurlHttpException>() .Or <FlurlHttpTimeoutException>() .CircuitBreakerAsync( exceptionsAllowedBeforeBreaking: appSettings.Value.PollyCircuitBreakExceptionCount, durationOfBreak: TimeSpan.FromSeconds(appSettings.Value.PollyCircuitBreakDurationInSeconds)); }
public FootballDataOrgImporter(FootballImportServiceConfiguration cfg, IFlurlClientFactory flurlClientFactory, IMapper mapper, ILeagueManager leagueManager) { _client = flurlClientFactory.Get(cfg.FootballDataOrgApiUrl); _client.Headers.Add("X-Auth-Token", cfg.FootballDataOrgApiKey); _client.Headers.Add("X-Requests-Available-Minute", ""); _client.BaseUrl = cfg.FootballDataOrgApiUrl; _configuration = cfg; _mapper = mapper; _leagueManager = leagueManager; }
/// <summary> /// Initializes a new instance of the <see cref="NasaClient"/> class /// </summary> /// <param name="settings"></param> /// <param name="flurlClientFactory"></param> public NasaClient(IOptions <AppSettings> settings, IFlurlClientFactory flurlClientFactory) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } if (flurlClientFactory == null) { throw new ArgumentNullException(nameof(flurlClientFactory)); } _settings = settings.Value; _flurlClient = flurlClientFactory.Get(_settings.NasaServices.Endpoints.BaseUrl); }
public ReplController( IFlurlClientFactory flurlClientFactory, IHostEnvironment hostEnvironment) { var url = GetReplUrl(hostEnvironment); this.client = flurlClientFactory.Get(url).Configure(settings => { settings.JsonSerializer = new NewtonsoftJsonSerializer( new JsonSerializerSettings() { ContractResolver = new CamelCasePropertyNamesContractResolver() }); }); }
private IFlurlClient _initClient(IFlurlClientFactory client) { var flurlClient = client.Get(_config.FtpProxyWebInterfaceBaseUri) .Configure(c => { c.HttpClientFactory = new UntrustedCertClientFactory(); c.ConnectionLeaseTimeout = TimeSpan.FromMinutes(30); }) .WithHeader("Accept", "application/json, text/json") .WithHeader("Accept-Encoding", "gzip, deflate") .WithTimeout(TimeSpan.FromMinutes(20)) .AllowHttpStatus(HttpStatusCode.NotFound) ; flurlClient.BaseUrl = _config.FtpProxyWebInterfaceBaseUri.ToString(); return(flurlClient); }
private IFlurlRequest CreateRequest() { var flurlRequest = new FlurlRequest(url) { Client = flurlClientFactory.Get(url) }; flurlRequest.WithHeader(CorrelationContext.CorrelationIdName, CorrelationContext.CorrelationId.Value); if (headers != null) { foreach (var header in headers) { flurlRequest.WithHeader(header.Key, header.Value); } } flurlRequest.Settings = defaultFlurlHttpSettings.Create(); flurlRequest.WithTimeout(timeout); return(flurlRequest); }
public FtpClientProxy(IFtpClientProxyConfig config, IFlurlClientFactory client, string host, NetworkCredential credentials) { this._config = config; this.Host = host; this.Credentials = credentials; _client = client.Get(_config.FtpProxyWebInterfaceBaseUri) .Configure(c => { c.HttpClientFactory = new UntrustedCertClientFactory(); c.ConnectionLeaseTimeout = TimeSpan.FromMinutes(30); }) .WithHeader("Accept", "application/json, text/json") .WithHeader("Accept-Encoding", "gzip, deflate") .WithTimeout(TimeSpan.FromMinutes(20)) .AllowHttpStatus(HttpStatusCode.NotFound) ; _client.BaseUrl = _config.FtpProxyWebInterfaceBaseUri.ToString(); if (_config.UseAuth0) { _auth0 = new AuthenticationApiClientCachingDecorator(new AuthenticationApiClient(_config.TenantID)); } else { _adal = new AuthenticationContext("https://login.microsoftonline.com/" + this._config.TenantID); } _connectionInfo = new ConnectionInfo { Host = this.Host, Username = this.Credentials.UserName, Password = this.Credentials.Password, }; }
public EnderecoService(IFlurlClientFactory flurlClientFactory) { flurlClient = flurlClientFactory.Get("https://viacep.com.br/ws"); }
public EmployeeRequestHelper(IFlurlClientFactory flurl) { _flurl = flurl.Get(_baseUrl); }
public CommonClient(ClientOptions clientOptions, IFlurlClientFactory flurlClientFac) { this.clientOptions = clientOptions; flurlClient = flurlClientFac.Get(this.clientOptions.InvoiceServiceUrl).SetDefaultSettings(); }
public CTeleportApiClient( IFlurlClientFactory flurlClientFactory, IOptions <AppSettings> appSettings) { _client = flurlClientFactory.Get(appSettings.Value.CTeleportBaseUrl); }
public OrderRepository(IFlurlClientFactory flurlFactory, IConfiguration configuration) { this.client = flurlFactory.Get(new Url(configuration.GetValue(typeof(String), "BASE_URL").ToString())); }
private static IFlurlRequest CreateAuthenticationRequest(IEnumerable <KeyValuePair <string, string> > parameters = null, params object[] urlSegments) => ClientFactory.Get(_configuration.AuthBaseUrl) .Request(urlSegments) .SetQueryParams(parameters) .WithTimeout(TimeSpan.FromSeconds(60));
public PlayerInstance(PlayerSettings settings, IFlurlClientFactory clientFactory) { _settings = settings; _client = clientFactory.Get(_settings.BaseUrl); }
public PortalService(AppSettings settings, IFlurlClientFactory flurlFactory) { _settings = settings; _client = flurlFactory.Get("https://portal.ordercloud.io/api/v1/"); }
public GenderRequestHelper(IFlurlClientFactory flurl) { _flurl = flurl.Get(_baseUrl); }
public StatusRequestHelper(IFlurlClientFactory flurl) { _flurl = flurl.Get(_baseUrl); }
public InboxInvoiceClient(IOptions <ClientOptions> clientOptions, IFlurlClientFactory flurlClientFac) { this.clientOptions = clientOptions.Value; flurlClient = flurlClientFac.Get(this.clientOptions.InvoiceServiceUrl).SetDefaultSettings(); }
public StripeClient(IFlurlClientFactory flurlClientFactory, IOptions <StripeClientConfig> config) { _httpClient = flurlClientFactory.Get(config.Value.BaseUrl); }