public WhispirApiHttpMessageHandler(WhispirApiHttpClientOptions options, HttpMessageHandler innerHandler) { BasicAuthenticatedHttpMessageHandler basicAuthHandler; if (innerHandler == null) { basicAuthHandler = new BasicAuthenticatedHttpMessageHandler( new BasicAuthenticatedHttpClientOptions { UserId = options.Username, Password = options.Password } ); } else { basicAuthHandler = new BasicAuthenticatedHttpMessageHandler( new BasicAuthenticatedHttpClientOptions { UserId = options.Username, Password = options.Password }, innerHandler ); } var customHeaderAuthHandler = new CustomHeaderAuthenticatedHttpMessageHandler( new CustomHeaderAuthenticatedHttpClientOptions { Name = "x-api-key", Value = options.ApiKey }, basicAuthHandler ); var queryStringAuthHandler = new QueryStringParameterAuthenticatedHttpMessageHandler( new QueryStringParameterAuthenticatedHttpClientOptions { Name = "apikey", Value = options.ApiKey }, customHeaderAuthHandler ); InnerHandler = queryStringAuthHandler; }
public WhispirApiHttpMessageHandler(WhispirApiHttpClientOptions options) : this(options, null) { }
public static HttpClient GetClient(WhispirApiHttpClientOptions options) { var msgHandler = new WhispirApiHttpMessageHandler(options); return(new HttpClient(msgHandler)); }