Class HttpClientResultExtensions
Extension methods on HttpClient that return Result<TValue> (or Result) instead of throwing on HTTP errors or network failures.
public static class HttpClientResultExtensions
- Inheritance
-
HttpClientResultExtensions
- Inherited Members
Remarks
HTTP 4xx/5xx responses are mapped to typed domain errors via the default REslava.Result.Http.HttpStatusCodeMapper or a custom StatusCodeMapper.
Network-level failures (HttpRequestException) and timeouts (TaskCanceledException) are wrapped in ExceptionError.
Methods
DeleteResult(HttpClient, string, HttpResultOptions?, CancellationToken)
Sends a DELETE request. Returns Ok() on success (2xx), or a typed error result on failure.
public static Task<Result> DeleteResult(this HttpClient client, string requestUri, HttpResultOptions? options = null, CancellationToken cancellationToken = default)
Parameters
clientHttpClientrequestUristringoptionsHttpResultOptionscancellationTokenCancellationToken
Returns
DeleteResult<T>(HttpClient, string, HttpResultOptions?, CancellationToken)
Sends a DELETE request and deserializes the response body as T.
public static Task<Result<T>> DeleteResult<T>(this HttpClient client, string requestUri, HttpResultOptions? options = null, CancellationToken cancellationToken = default)
Parameters
clientHttpClientrequestUristringoptionsHttpResultOptionscancellationTokenCancellationToken
Returns
Type Parameters
T
GetResult<T>(HttpClient, string, HttpResultOptions?, CancellationToken)
Sends a GET request and deserializes the response body as T.
public static Task<Result<T>> GetResult<T>(this HttpClient client, string requestUri, HttpResultOptions? options = null, CancellationToken cancellationToken = default)
Parameters
clientHttpClientrequestUristringoptionsHttpResultOptionscancellationTokenCancellationToken
Returns
Type Parameters
T
GetResult<T>(HttpClient, Uri, HttpResultOptions?, CancellationToken)
Sends a GET request and deserializes the response body as T.
public static Task<Result<T>> GetResult<T>(this HttpClient client, Uri requestUri, HttpResultOptions? options = null, CancellationToken cancellationToken = default)
Parameters
clientHttpClientrequestUriUrioptionsHttpResultOptionscancellationTokenCancellationToken
Returns
Type Parameters
T
PostResult<TBody, TResponse>(HttpClient, string, TBody, HttpResultOptions?, CancellationToken)
Sends a POST request with a JSON-serialized body and
deserializes the response body as TResponse.
public static Task<Result<TResponse>> PostResult<TBody, TResponse>(this HttpClient client, string requestUri, TBody body, HttpResultOptions? options = null, CancellationToken cancellationToken = default)
Parameters
clientHttpClientrequestUristringbodyTBodyoptionsHttpResultOptionscancellationTokenCancellationToken
Returns
Type Parameters
TBodyTResponse
PutResult<TBody, TResponse>(HttpClient, string, TBody, HttpResultOptions?, CancellationToken)
Sends a PUT request with a JSON-serialized body and
deserializes the response body as TResponse.
public static Task<Result<TResponse>> PutResult<TBody, TResponse>(this HttpClient client, string requestUri, TBody body, HttpResultOptions? options = null, CancellationToken cancellationToken = default)
Parameters
clientHttpClientrequestUristringbodyTBodyoptionsHttpResultOptionscancellationTokenCancellationToken
Returns
Type Parameters
TBodyTResponse