public async Task <PublishTekResponse> PutPubTek([FromBody] PublishTekArgs args) { if (_restApiClient == null) { throw new ArgumentNullException(nameof(_restApiClient)); } // Fail fast -> If the code is not valid, return the response with false result. if (!FixOrValidatePubTEK(args)) { return(new PublishTekResponse { Valid = false }); } var source = new CancellationTokenSource(); var token = source.Token; _logger.WritePubTekStart(); var responseMessage = await _restApiClient.PutAsync(args, $"{EndPointNames.CaregiversPortalApi.PubTek}", token); var result = JsonConvert.DeserializeObject <PublishTekResponse>(await responseMessage.Content.ReadAsStringAsync()); return(result); }
public static Task <IRestApiResult <TResult> > PutAsync <TContent, TResult>(this IRestApiClient apiClient, Priority priority, string path, int retryCount, Func <int, TimeSpan> sleepDurationProvider, TContent content = default(TContent), IHttpContentResolver contentResolver = null, CancellationToken cancellationToken = default(CancellationToken)) { return(PollyDecorator( () => apiClient.PutAsync <TContent, TResult>(priority, path, cancellationToken: cancellationToken), retryCount, sleepDurationProvider)); }
public async Task PutAsync_IsUsingHttpPut() { // arrange _messageHandler.OnSendAsync((request, cancellationToken) => Task.FromResult(new HttpResponseMessage(System.Net.HttpStatusCode.OK))); // act var result = await _restApiClient.PutAsync(ApiRequest.To("https://someurl.com")).ConfigureAwait(false); Assert.Equal(HttpMethod.Put, _messageHandler.LatestRequestMessage.Method); }
public static Task <IRestApiResult <TResult> > PutAsync <TContent, TResult>(this IRestApiClient apiClient, Priority priority, string path, int retryCount, int sleepDuration, TContent content = default(TContent), IList <KeyValuePair <string, string> > headers = null, IHttpContentResolver httpContentResolver = null, IHttpResponseResolver httpResponseResolver = null, CancellationToken cancellationToken = default(CancellationToken)) { return(PollyDecorator( () => apiClient.PutAsync <TContent, TResult>(priority, path, content, headers, httpContentResolver, httpResponseResolver, cancellationToken), retryCount, sleepDuration)); }