/// <summary> /// Execute a request that doesn't return a result. /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <IApiResponse> Execute(IRawApiRequest request, CancellationToken cancellationToken) { var response = await Execute(request, cancellationToken, (reader, token) => Task.FromResult(new NullBody())) .ConfigureAwait(false); return(response); }
/// <summary> /// Execute a request that doesn't return a result. /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <IApiResponse> Execute(IRawApiRequest request) { var response = await Execute(request, reader => Task.FromResult(new NullBody())) .ConfigureAwait(false); return(response); }
/// <summary> /// Execute a request which returns a result. /// </summary> /// <typeparam name="TResponse"></typeparam> /// <param name="request"></param> /// <param name="formatter"></param> /// <returns></returns> public async Task <IApiResponse <TResponse> > Execute <TResponse>(IRawApiRequest uriRequest, CancellationToken cancellationToken, ResultFormatter <TResponse> formatter = null) { // Send the request. var responseMessage = await _client.SendAsync(new HttpRequestMessage(uriRequest.Method, uriRequest.Url)) .ConfigureAwait(false); // Build the response. return(await BuildResponse(responseMessage, cancellationToken, formatter) .ConfigureAwait(false)); }