public async Task <HttpResponseMessage> SendRequestAsync(HttpRequestMessage request)
 {
     if (request == null)
     {
         throw new ArgumentNullException(nameof(request));
     }
     return(await _requestSender.SendAsync(request, TimeSpan.Zero).ConfigureAwait(false));
 }
Exemple #2
0
        public async Task <TResult> SendRequestAsync <TResult>(
            HttpMethod method,
            string uriPath,
            Dictionary <string, object> uriQueryParams = null,
            object contentDto = null,
            TimeSpan?timeout  = null)
        {
            var response = await RequestSender.SendAsync(method, uriPath, uriQueryParams, contentDto, timeout);

            return(JsonConvert.DeserializeObject <TResult>(await response.TryGetResponseAsync(Logger)));
        }
        public async Task <DataSendResult> SendAsync()
        {
            slicesTracker.Reset();

            foreach (var batch in batchesFactory.CreateBatches())
            {
                var watch = Stopwatch.StartNew();

                var result = await requestSender.SendAsync(batch.SerializedMessage).ConfigureAwait(false);

                LogBatchSendResult(batch, result, watch.Elapsed);

                if (result == RequestSendResult.IntermittentFailure)
                {
                    return(DataSendResult.Backoff);
                }

                if (result == RequestSendResult.Success)
                {
                    sentItemsCounter.Add(batch.ItemsCount);
                }

                if (result == RequestSendResult.DefinitiveFailure)
                {
                    lostItemsCounter.Add(batch.ItemsCount);
                }

                TryDiscardSnapshots(batch);
            }

            return(DataSendResult.Ok);
        }
Exemple #4
0
        private async Task <IEnumerable <TwitterTweetDto> > QueryAsyncAction(QueryModel queryModel)
        {
            var token = await _tokenProvider.GetToken();

            var json = await _requestSender.SendAsync(BuildUrl(queryModel), TwitterClientConsts.Methods.GET, $"Bearer {token}");

            var statuses = json[_twitterClientSettings.TweetsFieldName].ToString();
            var result   = JsonConvert.DeserializeObject <IEnumerable <TwitterTweetDto> >(statuses, GetIsoDateTimeConverter());

            return(result);
        }
        public virtual async Task <string> GetToken()
        {
            var jobjectResponse = await _requestSender.SendAsync(_twitterClientSettings.TokenUrl,
                                                                 TwitterClientConsts.Methods.POST,
                                                                 $"Basic {BuildCredentials()}",
                                                                 "grant_type=client_credentials");

            var token = jobjectResponse[_twitterClientSettings.AccessTokenFieldName].ToString();

            return(token);
        }
 private async Task <HttpResponseMessage> SendUpstreamRequestAsync(
     ProxyContext context,
     HttpRequestMessage upstreamRequest,
     CancellationToken cancellationToken)
 {
     try
     {
         return(await sender
                .SendAsync(context, upstreamRequest, cancellationToken)
                .TraceOnFaulted(logger, "Failed to forward the request to the upstream system.", cancellationToken));
     }
     catch (HttpRequestException hre)
     {
         // Bad gateway (HTTP status 502) indicates that this proxy server received a bad
         // response from another proxy or the origin server.
         throw new ProxyException(HttpStatusCode.BadGateway, hre);
     }
 }
        public async Task <PaymentResponse> SendRequestAsync(PaymentRequest request)
        {
            string jsonString = JsonConvert.SerializeObject(request);

            return(await _requestSender.SendAsync(_configuration.BillingUrl, "", jsonString));
        }