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
client
HttpRestClientThe HttpRestClient instance to be used for sending the request.
uri
stringThe URI to which the request is sent.
cancellationToken
CancellationTokenA token for canceling the request (optional).
Returns
- Task
A task that represents the asynchronous operation.
Exceptions
- ArgumentNullException
Thrown if
uri
is 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
client
HttpRestClientThe HttpRestClient instance to be used for sending the request.
uri
stringThe URI to which the request is sent.
cancellationToken
CancellationTokenA token for canceling the request (optional).
Returns
- Task<T>
A task representing the asynchronous operation, returning a deserialized object of type
T
.
Type Parameters
T
The type of the response object.
Exceptions
- ArgumentNullException
Thrown if
uri
is 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
client
HttpRestClientThe HttpRestClient instance to be used for sending the request.
method
HttpMethodThe HTTP method to use for the request.
uri
stringThe URI to which the request is sent.
payload
HttpContentThe HTTP request payload content.
streamProvider
Func<HttpContentHeaders, Stream>A function that returns a Stream based on the HTTP content headers.
cancellationToken
CancellationTokenA 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
, orstreamProvider
is null.- InvalidOperationException
Thrown if
streamProvider
returns 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
client
HttpRestClientThe HttpRestClient instance to be used for sending the request.
uri
stringThe URI to which the request is sent.
cancellationToken
CancellationTokenA token for canceling the request (optional).
Returns
Exceptions
- ArgumentNullException
Thrown if
uri
is 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
client
HttpRestClientThe HttpRestClient instance to be used for sending the request.
uri
stringThe URI to which the request is sent.
cancellationToken
CancellationTokenA token for canceling the request (optional).
Returns
Exceptions
- ArgumentNullException
Thrown if
uri
is 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
client
HttpRestClientThe HttpRestClient instance to be used for sending the request.
uri
stringThe URI to which the request is sent.
cancellationToken
CancellationTokenA token for canceling the request (optional).
Returns
Exceptions
- ArgumentNullException
Thrown if
uri
is 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
client
HttpRestClientThe HttpRestClient instance to be used for sending the request.
uri
stringThe URI to which the request is sent.
cancellationToken
CancellationTokenA token for canceling the request (optional).
Returns
- Task<T>
A task representing the asynchronous operation, returning a deserialized object of type
T
.
Type Parameters
T
The type of the response object.
Exceptions
- ArgumentNullException
Thrown if
uri
is 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
client
HttpRestClientThe HttpRestClient instance to be used for sending the request.
uri
stringThe URI to which the request is sent.
stream
StreamThe Stream where the response body is written.
cancellationToken
CancellationTokenA token for canceling the request (optional).
Returns
- Task
A task that represents the asynchronous operation.
Exceptions
- ArgumentNullException
Thrown if
uri
orstream
is 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
client
HttpRestClientThe HttpRestClient instance to be used for sending the request.
uri
stringThe URI to which the request is sent.
cancellationToken
CancellationTokenA token for canceling the request (optional).
Returns
- Task<HttpResponseHeaders>
A task representing the asynchronous operation, returning the response headers.
Exceptions
- ArgumentNullException
Thrown if
uri
is 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
client
HttpRestClientThe HttpRestClient instance to be used for sending the request.
uri
stringThe URI to which the request is sent.
cancellationToken
CancellationTokenA token for canceling the request (optional).
Returns
- Task<HttpResponseHeaders>
A task representing the asynchronous operation, returning the response headers.
Exceptions
- ArgumentNullException
Thrown if
uri
is 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
client
HttpRestClientThe HttpRestClient instance to be used for sending the request.
uri
stringThe URI to which the request is sent.
payload
HttpContentThe HTTP request payload content.
cancellationToken
CancellationTokenA token for canceling the request (optional).
Returns
- Task
A task that represents the asynchronous operation.
Exceptions
- ArgumentNullException
Thrown if
uri
is 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
client
HttpRestClientThe HttpRestClient instance to be used for sending the request.
uri
stringThe URI to which the request is sent.
payload
HttpContentThe HTTP request payload content.
cancellationToken
CancellationTokenA token for canceling the request (optional).
Returns
- Task<T>
A task representing the asynchronous operation, returning a deserialized object of type
T
.
Type Parameters
T
The type of the response object.
Exceptions
- ArgumentNullException
Thrown if
uri
is 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
client
HttpRestClientThe HttpRestClient instance to be used for sending the request.
uri
stringThe URI to which the request is sent.
payload
HttpContentThe HTTP request payload content.
cancellationToken
CancellationTokenA token for canceling the request (optional).
Returns
- Task
A task that represents the asynchronous operation.
Exceptions
- ArgumentNullException
Thrown if
uri
is 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
client
HttpRestClientThe HttpRestClient instance to be used for sending the request.
uri
stringThe URI to which the request is sent.
payload
HttpContentThe HTTP request payload content.
cancellationToken
CancellationTokenA token for canceling the request (optional).
Returns
- Task<T>
A task representing the asynchronous operation, returning a deserialized object of type
T
.
Type Parameters
T
The type of the response object.
Exceptions
- ArgumentNullException
Thrown if
uri
is 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
client
HttpRestClientThe HttpRestClient instance to be used for sending the request.
uri
stringThe URI to which the request is sent.
payload
HttpContentThe HTTP request payload content.
cancellationToken
CancellationTokenA token for canceling the request (optional).
Returns
- Task
A task that represents the asynchronous operation.
Exceptions
- ArgumentNullException
Thrown if
uri
is 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
client
HttpRestClientThe HttpRestClient instance to be used for sending the request.
uri
stringThe URI to which the request is sent.
payload
HttpContentThe HTTP request payload content.
cancellationToken
CancellationTokenA token for canceling the request (optional).
Returns
- Task<T>
A task representing the asynchronous operation, returning a deserialized object of type
T
.
Type Parameters
T
The type of the response object.
Exceptions
- ArgumentNullException
Thrown if
uri
is 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
client
HttpRestClientThe 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
client
argument is null>.