HTTP Server Error Codes
HTTP Server Error Codes helper object I use in NodeJS projects
Updated:
Web
This is the HTTP Server Error Codes helper object I use in NodeJS projects.
export const HTTP_SERVER_ERROR_CODES = { BAD_REQUEST: { statusCode: 400, statusText: "Bad Request", message: "The request could not be understood by the server. Please check your input.", }, UNAUTHORIZED: { statusCode: 401, statusText: "Unauthorized", message: "You need to log in or provide valid credentials to access this resource.", }, PAYMENT_REQUIRED: { statusCode: 402, statusText: "Payment Required", message: "Payment is required to access this resource.", }, FORBIDDEN: { statusCode: 403, statusText: "Forbidden", message: "You do not have permission to access this resource.", }, NOT_FOUND: { statusCode: 404, statusText: "Not Found", message: "The requested resource could not be found.", }, METHOD_NOT_ALLOWED: { statusCode: 405, statusText: "Method Not Allowed", message: "The request method is not allowed for this resource.", }, NOT_ACCEPTABLE: { statusCode: 406, statusText: "Not Acceptable", message: "The server cannot produce a response matching the request's criteria.", }, PROXY_AUTHENTICATION_REQUIRED: { statusCode: 407, statusText: "Proxy Authentication Required", message: "You need to authenticate with a proxy server before accessing this resource.", }, REQUEST_TIMEOUT: { statusCode: 408, statusText: "Request Timeout", message: "The server took too long to respond. Please try again later.", }, CONFLICT: { statusCode: 409, statusText: "Conflict", message: "There was a conflict with the current state of the resource.", }, GONE: { statusCode: 410, statusText: "Gone", message: "The resource you are looking for is no longer available.", }, LENGTH_REQUIRED: { statusCode: 411, statusText: "Length Required", message: "The request must include a valid Content-Length header.", }, PRECONDITION_FAILED: { statusCode: 412, statusText: "Precondition Failed", message: "A precondition in the request was not met.", }, PAYLOAD_TOO_LARGE: { statusCode: 413, statusText: "Payload Too Large", message: "The request payload is too large for the server to process.", }, URI_TOO_LONG: { statusCode: 414, statusText: "URI Too Long", message: "The requested URL is too long for the server to handle.", }, UNSUPPORTED_MEDIA_TYPE: { statusCode: 415, statusText: "Unsupported Media Type", message: "The server does not support the media format of the requested data.", }, RANGE_NOT_SATISFIABLE: { statusCode: 416, statusText: "Range Not Satisfiable", message: "The requested range is not available for this resource.", }, EXPECTATION_FAILED: { statusCode: 417, statusText: "Expectation Failed", message: "The server cannot meet the expectations given in the request headers.", }, IM_A_TEAPOT: { statusCode: 418, statusText: "I'm a teapot", message: "This is a joke response. The server refuses to brew coffee.", }, MISDIRECTED_REQUEST: { statusCode: 421, statusText: "Misdirected Request", message: "The request was sent to the wrong server.", }, UNPROCESSABLE_ENTITY: { statusCode: 422, statusText: "Unprocessable Entity", message: "The request was well-formed but could not be processed due to semantic errors.", }, LOCKED: { statusCode: 423, statusText: "Locked", message: "The requested resource is locked and cannot be accessed.", }, FAILED_DEPENDENCY: { statusCode: 424, statusText: "Failed Dependency", message: "A dependency for the request failed, so the request could not be completed.", }, TOO_EARLY: { statusCode: 425, statusText: "Too Early", message: "The server is unwilling to process the request at this time.", }, UPGRADE_REQUIRED: { statusCode: 426, statusText: "Upgrade Required", message: "The client must upgrade to a newer protocol version.", }, PRECONDITION_REQUIRED: { statusCode: 428, statusText: "Precondition Required", message: "The request requires certain conditions to be met before proceeding.", }, TOO_MANY_REQUESTS: { statusCode: 429, statusText: "Too Many Requests", message: "You have made too many requests in a short period. Please slow down.", }, REQUEST_HEADER_FIELDS_TOO_LARGE: { statusCode: 431, statusText: "Request Header Fields Too Large", message: "The request headers are too large for the server to process.", }, UNAVAILABLE_FOR_LEGAL_REASONS: { statusCode: 451, statusText: "Unavailable For Legal Reasons", message: "Access to this resource has been restricted for legal reasons.", }, INTERNAL_SERVER_ERROR: { statusCode: 500, statusText: "Internal Server Error", message: "Something went wrong on our end. Please try again later.", }, NOT_IMPLEMENTED: { statusCode: 501, statusText: "Not Implemented", message: "This request method is not supported by the server.", }, BAD_GATEWAY: { statusCode: 502, statusText: "Bad Gateway", message: "The server received an invalid response from an upstream server.", }, SERVICE_UNAVAILABLE: { statusCode: 503, statusText: "Service Unavailable", message: "The server is temporarily unavailable. Please try again later.", }, GATEWAY_TIMEOUT: { statusCode: 504, statusText: "Gateway Timeout", message: "The server took too long to respond. Please try again later.", }, HTTP_VERSION_NOT_SUPPORTED: { statusCode: 505, statusText: "HTTP Version Not Supported", message: "The server does not support the HTTP version used in the request.", }, VARIANT_ALSO_NEGOTIATES: { statusCode: 506, statusText: "Variant Also Negotiates", message: "There was an internal configuration error while processing your request.", }, INSUFFICIENT_STORAGE: { statusCode: 507, statusText: "Insufficient Storage", message: "The server has run out of storage space to complete the request.", }, LOOP_DETECTED: { statusCode: 508, statusText: "Loop Detected", message: "The server detected an infinite loop while processing your request.", }, NOT_EXTENDED: { statusCode: 510, statusText: "Not Extended", message: "Further extensions to the request are required for it to be processed.", }, NETWORK_AUTHENTICATION_REQUIRED: { statusCode: 511, statusText: "Network Authentication Required", message: "You need to authenticate to access the network.", },} as const satisfies Record< string, { statusCode: number; statusText: string; message: string; }>;