private static Tokenizer Execute(IRestClient client, TokenRequest tokenRequest, GrantType grantType) { var request = tokenRequest.ToRestRequest(); var response = client.Execute(request); return(ProcessResponse(response, grantType)); }
private static async Task<Tokenizer> ExecuteAsync(IRestClient client, TokenRequest tokenRequest, GrantType grantType, CancellationToken cancellationToken = default) { var request = tokenRequest.ToRestRequest(); var response = await client.ExecuteAsync(request, request.Method, cancellationToken).ConfigureAwait(false); return ProcessResponse(response, grantType); }
private Task <AccessToken> ExecuteAccessTokenRequest(TokenRequest tokenRequest, CancellationToken cancellationToken) { var restRequest = tokenRequest.ToRestRequest(_serverConfiguration.TokensUrl); return(RestClient.Execute(restRequest, cancellationToken) .ContinueWith(t => { // We will only process HTTP 200 status codes, as only then we can be sure // that we have received a correct response and can be try to deserialize // the access token response if (t.Result.StatusCode == HttpStatusCode.OK) { return _jsonDeserializer.Deserialize <AccessTokenResponse>(t.Result).ToAccessToken(); } throw new HttpException((int)t.Result.StatusCode, t.Result.StatusDescription); }, cancellationToken)); }