コード例 #1
0
        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);
        }
コード例 #2
0
 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));
 }
コード例 #3
0
        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);
        }
コード例 #4
0
 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));
 }