Class HttpRestClientExtensions
- Namespace
 - Kampute.HttpClient
 
- Assembly
 - Kampute.HttpClient.dll
 
Provides extension methods for HttpRestClient to facilitate sending HTTP requests using various methods, including GET, POST, PUT, PATCH, and DELETE.
public static class HttpRestClientExtensions
  - Inheritance
 - 
      
      HttpRestClientExtensions
 
- Inherited Members
 
Remarks
This static class enriches HttpRestClient by adding convenient extension methods for making HTTP requests. These methods simplify the process of constructing and sending requests for common HTTP methods, enabling more readable and concise client code.
Methods
DeleteAsync(HttpRestClient, string, CancellationToken)
Sends an asynchronous DELETE request to the specified URI without processing the response body.
public static Task DeleteAsync(this HttpRestClient client, string uri, CancellationToken cancellationToken = default)
  Parameters
clientHttpRestClientThe HttpRestClient instance to be used for sending the request.
uristringThe URI to which the request is sent.
cancellationTokenCancellationTokenA token for canceling the request (optional).
Returns
- Task
 A task that represents the asynchronous operation.
Exceptions
- ArgumentNullException
 Thrown if
uriis null.- HttpResponseException
 Thrown if the response status code indicates a failure.
- HttpRequestException
 Thrown if the request fails due to an underlying issue such as network connectivity, DNS failure, server certificate validation, or timeout.
- HttpContentException
 Thrown if the response body is empty or its media type is not supported.
- OperationCanceledException
 Thrown if the operation is canceled via the cancellation token.
DeleteAsync<T>(HttpRestClient, string, CancellationToken)
Sends an asynchronous DELETE request to the specified URI and returns the response body deserialized as the specified type.
public static Task<T?> DeleteAsync<T>(this HttpRestClient client, string uri, CancellationToken cancellationToken = default)
  Parameters
clientHttpRestClientThe HttpRestClient instance to be used for sending the request.
uristringThe URI to which the request is sent.
cancellationTokenCancellationTokenA token for canceling the request (optional).
Returns
- Task<T>
 A task representing the asynchronous operation, returning a deserialized object of type
T.
Type Parameters
TThe type of the response object.
Exceptions
- ArgumentNullException
 Thrown if
uriis null.- HttpResponseException
 Thrown if the response status code indicates a failure.
- HttpRequestException
 Thrown if the request fails due to an underlying issue such as network connectivity, DNS failure, server certificate validation, or timeout.
- HttpContentException
 Thrown if the response body is empty or its media type is not supported.
- OperationCanceledException
 Thrown if the operation is canceled via the cancellation token.
DownloadAsync(HttpRestClient, HttpMethod, string, HttpContent?, Func<HttpContentHeaders, Stream>, CancellationToken)
Sends an asynchronous HTTP request with the specified method, URI, and payload, returning the response content as a stream.
public static Task<Stream> DownloadAsync(this HttpRestClient client, HttpMethod method, string uri, HttpContent? payload, Func<HttpContentHeaders, Stream> streamProvider, CancellationToken cancellationToken = default)
  Parameters
clientHttpRestClientThe HttpRestClient instance to be used for sending the request.
methodHttpMethodThe HTTP method to use for the request.
uristringThe URI to which the request is sent.
payloadHttpContentThe HTTP request payload content.
streamProviderFunc<HttpContentHeaders, Stream>A function that returns a Stream based on the HTTP content headers.
cancellationTokenCancellationTokenA token for canceling the request (optional).
Returns
- Task<Stream>
 A task that represents the asynchronous operation. The task result contains a Stream that represents the response content.
Exceptions
- ArgumentNullException
 Thrown if
method,uri, orstreamProvideris null.- InvalidOperationException
 Thrown if
streamProviderreturns null.- HttpResponseException
 Thrown if the response status code indicates a failure.
- HttpRequestException
 Thrown if the request fails due to an underlying issue such as network connectivity, DNS failure, server certificate validation, or timeout.
- OperationCanceledException
 Thrown if the operation is canceled via the cancellation token.
GetAsByteArrayAsync(HttpRestClient, string, CancellationToken)
Sends an asynchronous GET request to the specified URI and returns the response body as an array of bytes.
public static Task<byte[]> GetAsByteArrayAsync(this HttpRestClient client, string uri, CancellationToken cancellationToken = default)
  Parameters
clientHttpRestClientThe HttpRestClient instance to be used for sending the request.
uristringThe URI to which the request is sent.
cancellationTokenCancellationTokenA token for canceling the request (optional).
Returns
Exceptions
- ArgumentNullException
 Thrown if
uriis null.- HttpResponseException
 Thrown if the response status code indicates a failure.
- HttpRequestException
 Thrown if the request fails due to an underlying issue such as network connectivity, DNS failure, server certificate validation, or timeout.
- OperationCanceledException
 Thrown if the operation is canceled via the cancellation token.
GetAsStreamAsync(HttpRestClient, string, CancellationToken)
Sends an asynchronous GET request to the specified URI and returns the response body as a Stream.
public static Task<Stream> GetAsStreamAsync(this HttpRestClient client, string uri, CancellationToken cancellationToken = default)
  Parameters
clientHttpRestClientThe HttpRestClient instance to be used for sending the request.
uristringThe URI to which the request is sent.
cancellationTokenCancellationTokenA token for canceling the request (optional).
Returns
Exceptions
- ArgumentNullException
 Thrown if
uriis null.- HttpResponseException
 Thrown if the response status code indicates a failure.
- HttpRequestException
 Thrown if the request fails due to an underlying issue such as network connectivity, DNS failure, server certificate validation, or timeout.
- OperationCanceledException
 Thrown if the operation is canceled via the cancellation token.
GetAsStringAsync(HttpRestClient, string, CancellationToken)
Sends an asynchronous GET request to the specified URI and returns the response body as a string.
public static Task<string> GetAsStringAsync(this HttpRestClient client, string uri, CancellationToken cancellationToken = default)
  Parameters
clientHttpRestClientThe HttpRestClient instance to be used for sending the request.
uristringThe URI to which the request is sent.
cancellationTokenCancellationTokenA token for canceling the request (optional).
Returns
Exceptions
- ArgumentNullException
 Thrown if
uriis null.- HttpResponseException
 Thrown if the response status code indicates a failure.
- HttpRequestException
 Thrown if the request fails due to an underlying issue such as network connectivity, DNS failure, server certificate validation, or timeout.
- OperationCanceledException
 Thrown if the operation is canceled via the cancellation token.
GetAsync<T>(HttpRestClient, string, CancellationToken)
Sends an asynchronous GET request to the specified URI and returns the response body deserialized as the specified type.
public static Task<T?> GetAsync<T>(this HttpRestClient client, string uri, CancellationToken cancellationToken = default)
  Parameters
clientHttpRestClientThe HttpRestClient instance to be used for sending the request.
uristringThe URI to which the request is sent.
cancellationTokenCancellationTokenA token for canceling the request (optional).
Returns
- Task<T>
 A task representing the asynchronous operation, returning a deserialized object of type
T.
Type Parameters
TThe type of the response object.
Exceptions
- ArgumentNullException
 Thrown if
uriis null.- HttpResponseException
 Thrown if the response status code indicates a failure.
- HttpRequestException
 Thrown if the request fails due to an underlying issue such as network connectivity, DNS failure, server certificate validation, or timeout.
- HttpContentException
 Thrown if the response body is empty or its media type is not supported.
- OperationCanceledException
 Thrown if the operation is canceled via the cancellation token.
GetToStreamAsync(HttpRestClient, string, Stream, CancellationToken)
Sends an asynchronous GET request to the specified URI and write the response body into the provided Stream.
public static Task GetToStreamAsync(this HttpRestClient client, string uri, Stream stream, CancellationToken cancellationToken = default)
  Parameters
clientHttpRestClientThe HttpRestClient instance to be used for sending the request.
uristringThe URI to which the request is sent.
streamStreamThe Stream where the response body is written.
cancellationTokenCancellationTokenA token for canceling the request (optional).
Returns
- Task
 A task that represents the asynchronous operation.
Exceptions
- ArgumentNullException
 Thrown if
uriorstreamis null.- HttpResponseException
 Thrown if the response status code indicates a failure.
- HttpRequestException
 Thrown if the request fails due to an underlying issue such as network connectivity, DNS failure, server certificate validation, or timeout.
- OperationCanceledException
 Thrown if the operation is canceled via the cancellation token.
HeadAsync(HttpRestClient, string, CancellationToken)
Sends an asynchronous HEAD request to the specified URI and returns the response headers.
public static Task<HttpResponseHeaders> HeadAsync(this HttpRestClient client, string uri, CancellationToken cancellationToken = default)
  Parameters
clientHttpRestClientThe HttpRestClient instance to be used for sending the request.
uristringThe URI to which the request is sent.
cancellationTokenCancellationTokenA token for canceling the request (optional).
Returns
- Task<HttpResponseHeaders>
 A task representing the asynchronous operation, returning the response headers.
Exceptions
- ArgumentNullException
 Thrown if
uriis null.- HttpResponseException
 Thrown if the response status code indicates a failure.
- HttpRequestException
 Thrown if the request fails due to an underlying issue such as network connectivity, DNS failure, server certificate validation, or timeout.
- HttpContentException
 Thrown if the response body is empty or its media type is not supported.
- OperationCanceledException
 Thrown if the operation is canceled via the cancellation token.
OptionsAsync(HttpRestClient, string, CancellationToken)
Sends an asynchronous OPTIONS request to the specified URI and returns the response headers.
public static Task<HttpResponseHeaders> OptionsAsync(this HttpRestClient client, string uri, CancellationToken cancellationToken = default)
  Parameters
clientHttpRestClientThe HttpRestClient instance to be used for sending the request.
uristringThe URI to which the request is sent.
cancellationTokenCancellationTokenA token for canceling the request (optional).
Returns
- Task<HttpResponseHeaders>
 A task representing the asynchronous operation, returning the response headers.
Exceptions
- ArgumentNullException
 Thrown if
uriis null.- HttpResponseException
 Thrown if the response status code indicates a failure.
- HttpRequestException
 Thrown if the request fails due to an underlying issue such as network connectivity, DNS failure, server certificate validation, or timeout.
- HttpContentException
 Thrown if the response body is empty or its media type is not supported.
- OperationCanceledException
 Thrown if the operation is canceled via the cancellation token.
PatchAsync(HttpRestClient, string, HttpContent?, CancellationToken)
Sends an asynchronous PATCH request to the specified URI without processing the response body.
public static Task PatchAsync(this HttpRestClient client, string uri, HttpContent? payload, CancellationToken cancellationToken = default)
  Parameters
clientHttpRestClientThe HttpRestClient instance to be used for sending the request.
uristringThe URI to which the request is sent.
payloadHttpContentThe HTTP request payload content.
cancellationTokenCancellationTokenA token for canceling the request (optional).
Returns
- Task
 A task that represents the asynchronous operation.
Exceptions
- ArgumentNullException
 Thrown if
uriis null.- HttpResponseException
 Thrown if the response status code indicates a failure.
- HttpRequestException
 Thrown if the request fails due to an underlying issue such as network connectivity, DNS failure, server certificate validation, or timeout.
- HttpContentException
 Thrown if the response body is empty or its media type is not supported.
- OperationCanceledException
 Thrown if the operation is canceled via the cancellation token.
PatchAsync<T>(HttpRestClient, string, HttpContent?, CancellationToken)
Sends an asynchronous PATCH request to the specified URI and returns the response body deserialized as the specified type.
public static Task<T?> PatchAsync<T>(this HttpRestClient client, string uri, HttpContent? payload, CancellationToken cancellationToken = default)
  Parameters
clientHttpRestClientThe HttpRestClient instance to be used for sending the request.
uristringThe URI to which the request is sent.
payloadHttpContentThe HTTP request payload content.
cancellationTokenCancellationTokenA token for canceling the request (optional).
Returns
- Task<T>
 A task representing the asynchronous operation, returning a deserialized object of type
T.
Type Parameters
TThe type of the response object.
Exceptions
- ArgumentNullException
 Thrown if
uriis null.- HttpResponseException
 Thrown if the response status code indicates a failure.
- HttpRequestException
 Thrown if the request fails due to an underlying issue such as network connectivity, DNS failure, server certificate validation, or timeout.
- HttpContentException
 Thrown if the response body is empty or its media type is not supported.
- OperationCanceledException
 Thrown if the operation is canceled via the cancellation token.
PostAsync(HttpRestClient, string, HttpContent?, CancellationToken)
Sends an asynchronous POST request to the specified URI without processing the response body.
public static Task PostAsync(this HttpRestClient client, string uri, HttpContent? payload, CancellationToken cancellationToken = default)
  Parameters
clientHttpRestClientThe HttpRestClient instance to be used for sending the request.
uristringThe URI to which the request is sent.
payloadHttpContentThe HTTP request payload content.
cancellationTokenCancellationTokenA token for canceling the request (optional).
Returns
- Task
 A task that represents the asynchronous operation.
Exceptions
- ArgumentNullException
 Thrown if
uriis null.- HttpResponseException
 Thrown if the response status code indicates a failure.
- HttpRequestException
 Thrown if the request fails due to an underlying issue such as network connectivity, DNS failure, server certificate validation, or timeout.
- HttpContentException
 Thrown if the response body is empty or its media type is not supported.
- OperationCanceledException
 Thrown if the operation is canceled via the cancellation token.
PostAsync<T>(HttpRestClient, string, HttpContent?, CancellationToken)
Sends an asynchronous POST request to the specified URI and returns the response body deserialized as the specified type.
public static Task<T?> PostAsync<T>(this HttpRestClient client, string uri, HttpContent? payload, CancellationToken cancellationToken = default)
  Parameters
clientHttpRestClientThe HttpRestClient instance to be used for sending the request.
uristringThe URI to which the request is sent.
payloadHttpContentThe HTTP request payload content.
cancellationTokenCancellationTokenA token for canceling the request (optional).
Returns
- Task<T>
 A task representing the asynchronous operation, returning a deserialized object of type
T.
Type Parameters
TThe type of the response object.
Exceptions
- ArgumentNullException
 Thrown if
uriis null.- HttpResponseException
 Thrown if the response status code indicates a failure.
- HttpRequestException
 Thrown if the request fails due to an underlying issue such as network connectivity, DNS failure, server certificate validation, or timeout.
- HttpContentException
 Thrown if the response body is empty or its media type is not supported.
- OperationCanceledException
 Thrown if the operation is canceled via the cancellation token.
PutAsync(HttpRestClient, string, HttpContent?, CancellationToken)
Sends an asynchronous PUT request to the specified URI without processing the response body.
public static Task PutAsync(this HttpRestClient client, string uri, HttpContent? payload, CancellationToken cancellationToken = default)
  Parameters
clientHttpRestClientThe HttpRestClient instance to be used for sending the request.
uristringThe URI to which the request is sent.
payloadHttpContentThe HTTP request payload content.
cancellationTokenCancellationTokenA token for canceling the request (optional).
Returns
- Task
 A task that represents the asynchronous operation.
Exceptions
- ArgumentNullException
 Thrown if
uriis null.- HttpResponseException
 Thrown if the response status code indicates a failure.
- HttpRequestException
 Thrown if the request fails due to an underlying issue such as network connectivity, DNS failure, server certificate validation, or timeout.
- HttpContentException
 Thrown if the response body is empty or its media type is not supported.
- OperationCanceledException
 Thrown if the operation is canceled via the cancellation token.
PutAsync<T>(HttpRestClient, string, HttpContent?, CancellationToken)
Sends an asynchronous PUT request to the specified URI and returns the response body deserialized as the specified type.
public static Task<T?> PutAsync<T>(this HttpRestClient client, string uri, HttpContent? payload, CancellationToken cancellationToken = default)
  Parameters
clientHttpRestClientThe HttpRestClient instance to be used for sending the request.
uristringThe URI to which the request is sent.
payloadHttpContentThe HTTP request payload content.
cancellationTokenCancellationTokenA token for canceling the request (optional).
Returns
- Task<T>
 A task representing the asynchronous operation, returning a deserialized object of type
T.
Type Parameters
TThe type of the response object.
Exceptions
- ArgumentNullException
 Thrown if
uriis null.- HttpResponseException
 Thrown if the response status code indicates a failure.
- HttpRequestException
 Thrown if the request fails due to an underlying issue such as network connectivity, DNS failure, server certificate validation, or timeout.
- HttpContentException
 Thrown if the response body is empty or its media type is not supported.
- OperationCanceledException
 Thrown if the operation is canceled via the cancellation token.
WithScope(HttpRestClient)
Creates a new HttpRequestScope for managing scoped modifications of properties and headers for HTTP requests sent using the HttpRestClient.
public static HttpRequestScope WithScope(this HttpRestClient client)
  Parameters
clientHttpRestClientThe HttpRestClient instance for which the scope is created.
Returns
- HttpRequestScope
 An instance of HttpRequestScope that allows properties and headers to be temporarily modified for requests made through the client.
Exceptions
- ArgumentNullException
 Thrown if the
clientargument is null>.