@thalorlabs/errors
Version:
Enhanced exception handling system for TypeScript applications with comprehensive error classes and debugging capabilities
26 lines (25 loc) • 1.13 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ServiceUnavailableError = void 0;
const types_1 = require("@thalorlabs/types");
const CustomError_1 = __importDefault(require("./CustomError"));
/**
* Error for service unavailable scenarios.
*
* Used when services are temporarily unavailable due to maintenance or overload.
* Provides clear 503 error responses with optional service context.
*
* @example
* throw new ServiceUnavailableError('Service under maintenance', 'maintenance-mode', 'req-123');
*
* throw new ServiceUnavailableError('Service overloaded', null, 'req-456', { retryAfter: 300 });
*/
class ServiceUnavailableError extends CustomError_1.default {
constructor(message = 'Service Unavailable', error, requestId, context) {
super(types_1.EHttpServerErrorResponse.SERVICE_UNAVAILABLE, `${message}${error ? `: ${error}` : ''}`, requestId, context);
}
}
exports.ServiceUnavailableError = ServiceUnavailableError;
;