private static HttpClient CreateHttpClient(IAirlyClientConfig config) { HttpClient httpClient = new HttpClient(); httpClient.BaseAddress = AirlyClientUrlBuilder.GetBaseUrl(config); InterceptDefaultHttpHeaders(httpClient); InterceptAuthorizationHttpHeaders(httpClient, config); return(httpClient); }
private static HttpClient CreateHttpClient(IAirlyClientConfig config) { var client = new HttpClient(); client.BaseAddress = new Uri(HttpUrlBuilder.GetBaseUrl(config.IsSecure, config.HostAddress, config.ApiPrefix, config.ApiVersion)); client.DefaultRequestHeaders.Add("Accept", "application/json"); client.DefaultRequestHeaders.Add("Accept-Encoding", "gzip"); client.DefaultRequestHeaders.Add("apikey", config.ApiKey); return(client); }
private AirlyClientOptions(IAirlyClientConfig config) { _config = config; }
public static AirlyClientOptions Create(IAirlyClientConfig config) => new AirlyClientOptions(config);
private ClientConfig(IAirlyClientConfig airlyConfig) { _airlyConfig = airlyConfig; }
public AirlyClient(IAirlyClientConfig config, AirlyClientOptions options, HttpClient httpClient) { _config = config; _options = options; _httpClient = httpClient; }
public static Uri GetBaseUrl(IAirlyClientConfig config) => new Uri(GetBaseUrl(config.IsSecure, config.HostAddress, config.HostPort, config.ApiPrefix, config.ApiVersion));
public AirlyClientOptions(IAirlyClientConfig config) { _config = config; }
private static AirlyClientOptions CreateClientOptions(IAirlyClientConfig config) => new AirlyClientOptions(config);
public static IAirlyClient CreateClient(IAirlyClientConfig config) => new AirlyClient(config, CreateClientOptions(config), CreateHttpClient(config));
private static AirlyClientOptions CreateOptions(IAirlyClientConfig config) => AirlyClientOptions.Create(config);
// TODO [client] interceptor? private static void InterceptAuthorizationHttpHeaders(HttpClient httpClient, IAirlyClientConfig config) { httpClient.DefaultRequestHeaders.Add(config.ApiAuthKey, config.ApiAuthValue); }