Table of Contents

Class HttpFailure

Namespace
Vonage.Common.Failures
Assembly
Vonage.dll
public record HttpFailure : IResultFailure, IEquatable<HttpFailure>
Inheritance
HttpFailure
Implements
Inherited Members

Examples

// Create an HTTP failure for a bad request
HttpFailure failure = HttpFailure.From(HttpStatusCode.BadRequest, "Invalid request", "{\"error\":\"missing field\"}");
Console.WriteLine(failure.GetFailureMessage()); // "400 - Invalid request - {"error":"missing field"}."

// Create a simple failure with status code only
HttpFailure notFound = HttpFailure.From(HttpStatusCode.NotFound);

Constructors

HttpFailure(HttpStatusCode, string, string)

public HttpFailure(HttpStatusCode Code, string Message, string Json)

Parameters

Code HttpStatusCode
Message string
Json string

Examples

// Create an HTTP failure for a bad request
HttpFailure failure = HttpFailure.From(HttpStatusCode.BadRequest, "Invalid request", "{\"error\":\"missing field\"}");
Console.WriteLine(failure.GetFailureMessage()); // "400 - Invalid request - {"error":"missing field"}."

// Create a simple failure with status code only
HttpFailure notFound = HttpFailure.From(HttpStatusCode.NotFound);

Properties

Code

public HttpStatusCode Code { get; init; }

Property Value

HttpStatusCode

Json

public string Json { get; init; }

Property Value

string

Message

public string Message { get; init; }

Property Value

string

Type

The type of failure.

public Type Type { get; }

Property Value

Type

Methods

From(HttpStatusCode)

Creates a HttpFailure.

public static HttpFailure From(HttpStatusCode code)

Parameters

code HttpStatusCode

The status code.

Returns

HttpFailure

The failure.

Examples

HttpFailure failure = HttpFailure.From(HttpStatusCode.InternalServerError);
Console.WriteLine(failure.GetFailureMessage()); // "500."

From(HttpStatusCode, string, string)

Creates a HttpFailure.

public static HttpFailure From(HttpStatusCode code, string message, string json)

Parameters

code HttpStatusCode

The status code.

message string

The message.

json string

The JSON content.

Returns

HttpFailure

The failure.

Examples

HttpFailure failure = HttpFailure.From(
    HttpStatusCode.Unauthorized,
    "Authentication required",
    "{\"error\":\"token_expired\"}"
);

GetFailureMessage()

Returns the error message defined in the failure.

public string GetFailureMessage()

Returns

string

The error message.

Examples

IResultFailure failure = ResultFailure.FromErrorMessage("Invalid input");
string message = failure.GetFailureMessage(); // "Invalid input"

ToException()

Converts the failure to an exception.

public Exception ToException()

Returns

Exception

The exception.

Examples

IResultFailure failure = ResultFailure.FromErrorMessage("Operation failed");
throw failure.ToException();

ToResult<T>()

Converts the failure to a Result with a Failure state.

public Result<T> ToResult<T>()

Returns

Result<T>

A Result with a Failure state.

Type Parameters

T

The underlying type of Result.

Examples

IResultFailure failure = ResultFailure.FromErrorMessage("Not found");
Result<User> result = failure.ToResult<User>();
Console.WriteLine(result.IsFailure); // true