/// <summary> /// Initializes a new instance of <see cref="OnspringClient"/>. /// </summary> /// <param name="clientConfig"></param> /// <exception cref="ArgumentNullException">Thrown when <paramref name="clientConfig"/> is null.</exception> /// <exception cref="ArgumentException">Thrown when <see cref="OnspringClientConfiguration.ApiKey"/> is null/empty/whitespace or if the <see cref="OnspringClientConfiguration.BaseAddress"/> is invalid.</exception> public OnspringClient(OnspringClientConfiguration clientConfig) { Arg.IsNotNull(clientConfig, nameof(clientConfig)); Arg.IsNotNullOrWhitespace(clientConfig.ApiKey, $"{nameof(clientConfig)}.{clientConfig.ApiKey}"); Arg.IsValidUrl(clientConfig.BaseAddress, $"{nameof(clientConfig)}.{clientConfig.BaseAddress}"); ClientConfig = clientConfig; HttpClient = HttpClientFactory.GetHttpClient(clientConfig.BaseAddress); }
/// <summary> /// Initializes a new instance of <see cref="OnspringClient"/>. The BaseAddress on the <paramref name="httpClient"/> must be set prior to this. /// </summary> /// <param name="apiKey"></param> /// <param name="httpClient"></param> /// <exception cref="ArgumentNullException">Thrown when <paramref name="httpClient"/> is null.</exception> /// <exception cref="ArgumentException">Thrown when <paramref name="apiKey"/> is null/empty/whitespace or if the <paramref name="httpClient"/>'s base address is invalid.</exception> public OnspringClient(string apiKey, HttpClient httpClient) { Arg.IsNotNullOrWhitespace(apiKey, nameof(apiKey)); Arg.IsNotNull(httpClient, nameof(httpClient)); Arg.IsNotNull(httpClient.BaseAddress, $"{nameof(httpClient)}.{nameof(httpClient.BaseAddress)}"); ClientConfig = new OnspringClientConfiguration(httpClient.BaseAddress.ToString(), apiKey); HttpClient = httpClient; }