Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. ๐ซ Status page with uptime monitoring & API monitoring as code ๐ซ openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor
Something went wrong. Try again.
879 B ยท 36 lines
TypeScript
12345678910111213141516171819202122232425262728293031323334353637import { BaseError } from "./base-error";import type { ErrorCode } from "./error-code";import { statusToCode } from "./utils";
type Context = { url?: string; method?: string; statusCode?: number;};
export class HttpError extends BaseError<Context> { public readonly name = HttpError.name; public readonly code: ErrorCode;
constructor(opts: { code: ErrorCode; message: string; cause?: BaseError; context?: Context; }) { super(opts); this.code = opts.code; }
public static fromRequest(request: Request, response: Response) { return new HttpError({ code: statusToCode(response.status), message: response.statusText, // can be overriden with { ...res, statusText: 'Custom message' } context: { url: request.url, method: request.method, statusCode: response.status, }, }); }}