コード例 #1
0
        /// <summary>
        /// The ExecuteTaskAsync.
        /// </summary>
        /// <typeparam name="T">.</typeparam>
        /// <param name="request">The request<see cref="IRestRequest"/>.</param>
        /// <param name="token">The token<see cref="CancellationToken"/>.</param>
        /// <returns>The <see cref="Task{IRestResponse{T}}"/>.</returns>
        public override async Task <IRestResponse <T> > ExecuteTaskAsync <T>(IRestRequest request, CancellationToken token)
        {
            InjectAccessToken(request);
            IRestResponse <T> response = await DecoratedClient.ExecuteTaskAsync <T>(request, token);

            if (response.StatusCode == HttpStatusCode.Unauthorized)
            {
                RefreshAccessToken();
                InjectAccessToken(request);
                response = await DecoratedClient.ExecuteTaskAsync <T>(request, token);
            }

            return(response);
        }
コード例 #2
0
        /// <summary>
        /// The ExecuteTaskAsync.
        /// </summary>
        /// <param name="request">The request<see cref="IRestRequest"/>.</param>
        /// <returns>The <see cref="Task{IRestResponse}"/>.</returns>
        public override async Task <IRestResponse> ExecuteTaskAsync(IRestRequest request)
        {
            InjectAccessToken(request);
            IRestResponse response = await DecoratedClient.ExecuteTaskAsync(request);

            if (response.StatusCode == HttpStatusCode.Unauthorized)
            {
                RefreshAccessToken();
                InjectAccessToken(request);
                response = await DecoratedClient.ExecuteTaskAsync(request);
            }

            return(response);
        }