DeleteAsync Method

Make a type-safe DELETE request.

Namespace

RestClient.Net

Containing Type

HttpClientExtensions

Signature

Same signature as GetAsync.

public static async Task<Result<TSuccess, HttpError<TError>>> DeleteAsync<TSuccess, TError>(
    this HttpClient httpClient,
    AbsoluteUrl url,
    Func<HttpResponseMessage, CancellationToken, Task<TSuccess>> deserializeSuccess,
    Func<HttpResponseMessage, CancellationToken, Task<TError>> deserializeError,
    IReadOnlyDictionary<string, string>? headers = null,
    CancellationToken cancellationToken = default
)

Example

var result = await httpClient.DeleteAsync(
    url: "https://api.example.com/users/123".ToAbsoluteUrl(),
    deserializeSuccess: async (r, ct) => true,
    deserializeError: DeserializeApiError
);

var output = result switch
{
    Ok(true) => "User deleted",
    Error(ResponseError(var err, var status, _)) => $"Error {status}: {err.Message}",
    Error(ExceptionError(var ex)) => $"Exception: {ex.Message}",
};

See Also