arkyn

v3.0.1-beta.122

BadGateway

The BadGateway class represents an HTTP error response with status code 502. It is used to standardize "Bad Gateway" error responses, typically when an upstream server returns an invalid response.

Import

ts

import { BadGateway } from "@arkyn/server";

Constructor

  • message (required): A descriptive message explaining the error cause.
  • cause (optional): Additional information about the error cause, which can be any serializable data.

Methods

toResponse() - Converts the instance into a Response object with JSON body and Content-Type: application/json header.
toJson() - Alternative method using Response.json() for generating the JSON error response.

Usage example

typescript

import { BadGateway } from "@arkyn/server";
// Basic usage - throw the error
throw new BadGateway("Payment gateway unavailable");
// With cause information
throw new BadGateway("External API failed", {
service: "payment-provider",
originalError: "Connection timeout",
});
// Convert to Response object
const error = new BadGateway("Upstream server error");
return error.toResponse();
// Using toJson alternative
return error.toJson();

Response structure

The response body follows a standardized structure:

json

{
"ok": false,
"status": 502,
"message": "Payment gateway unavailable"
}

Notes

When thrown, this class automatically emits a debug log to the console showing the file and function where the error originated. See DebugService to configure ignored files for accurate caller detection.
The cause parameter is serialized to JSON and stored for debugging purposes but is not included in the response body sent to clients.
Common use cases include proxy errors, upstream service failures, and third-party API communication issues.
On this page