public SignHostApiClient(ISignHostApiClientSettings settings) { this.settings = settings; FlurlHttp.Configure(c => { c.OnError = ErrorHandling.ErrorHandling.HandleError; }); }
/// <summary> /// Initializes a new instance of the <see cref="SignHostApiClient"/> class. /// Set your usertoken and APPKey by creating a <see cref="SignHostApiClientSettings"/>. /// </summary> /// <param name="settings"><see cref="SignHostApiClientSettings"/></param> /// <param name="httpClient"><see cref="HttpClient"/> to use for all http calls.</param> public SignHostApiClient(ISignHostApiClientSettings settings, HttpClient httpClient) { this.settings = settings; this.client = httpClient; this.client.BaseAddress = new Uri( settings.Endpoint + (settings.Endpoint.EndsWith("/") ? string.Empty : "/")); this.client.DefaultRequestHeaders.UserAgent.Add( new System.Net.Http.Headers.ProductInfoHeaderValue( "SignhostClientLibrary", Version)); this.client.DefaultRequestHeaders.Add("Application", ApplicationHeader); this.client.DefaultRequestHeaders.Add("Authorization", AuthorizationHeader); settings.AddHeader?.Invoke(this.client.DefaultRequestHeaders.Add); }
/// <summary> /// Initializes a new instance of the <see cref="SignHostApiRetryClient"/> class. /// This client has a built-in retry mechanism. /// Set your usertoken and APPKey by creating a <see cref="SignHostApiClientSettings"/>. /// </summary> /// <param name="settings"><see cref="SignHostApiClientSettings"/>.</param> /// <param name="httpClient"><see cref="HttpClient"/> to use for all http calls.</param> /// <param name="policy">An <see cref="AsyncPolicy"/> to use instead of the default.</param> public SignHostApiRetryClient( ISignHostApiClientSettings settings, HttpClient httpClient, AsyncPolicy policy = null) { client = new SignHostApiClient(settings, httpClient); if (policy is null) { retryPolicy = GetDefaultPolicy(); } else { retryPolicy = policy; } }
/// <summary> /// Initializes a new instance of the <see cref="SignHostApiClient"/> class. /// Set your usertoken and APPKey by creating a <see cref="SignHostApiClientSettings"/>. /// </summary> /// <param name="settings"><see cref="SignHostApiClientSettings"/></param> public SignHostApiClient(ISignHostApiClientSettings settings) : this(settings, new HttpClient()) { }
/// <summary> /// Initializes a new instance of the <see cref="SignHostApiRetryClient"/> class. /// This client has a built-in retry mechanism. /// Set your usertoken and APPKey by creating a <see cref="SignHostApiClientSettings"/>. /// </summary> /// <param name="settings"><see cref="SignHostApiClientSettings"/>.</param> /// <param name="policy">An <see cref="AsyncPolicy"/> to use instead of the default.</param> public SignHostApiRetryClient( ISignHostApiClientSettings settings, AsyncPolicy policy = null) : this(settings, new HttpClient(), policy) { }