import { Extensible } from "./interfaces"; export type HttpCode = { code: number; name: string; description?: string; }; type Group = "success" | "redirection" | "clientErrors" | "serverErrors"; type CodeDefinitions = { [K in Group]: { [K: string]: HttpCode; }; }; // tx claude https://claude.ai/share/344fc7bd-5321-4763-af2f-b82275e9f865 const httpCodes: CodeDefinitions = { success: { OK: { code: 200, name: "OK", description: "" }, Created: { code: 201, name: "Created" }, Accepted: { code: 202, name: "Accepted" }, NonAuthoritativeInformation: { code: 203, name: "Non-Authoritative Information", }, NoContent: { code: 204, name: "No Content" }, ResetContent: { code: 205, name: "Reset Content" }, PartialContent: { code: 206, name: "Partial Content" }, }, redirection: { MultipleChoices: { code: 300, name: "Multiple Choices" }, MovedPermanently: { code: 301, name: "Moved Permanently" }, Found: { code: 302, name: "Found" }, SeeOther: { code: 303, name: "See Other" }, NotModified: { code: 304, name: "Not Modified" }, TemporaryRedirect: { code: 307, name: "Temporary Redirect" }, PermanentRedirect: { code: 308, name: "Permanent Redirect" }, }, clientErrors: { BadRequest: { code: 400, name: "Bad Request" }, Unauthorized: { code: 401, name: "Unauthorized" }, PaymentRequired: { code: 402, name: "Payment Required" }, Forbidden: { code: 403, name: "Forbidden" }, NotFound: { code: 404, name: "Not Found" }, MethodNotAllowed: { code: 405, name: "Method Not Allowed" }, NotAcceptable: { code: 406, name: "Not Acceptable" }, ProxyAuthenticationRequired: { code: 407, name: "Proxy Authentication Required", }, RequestTimeout: { code: 408, name: "Request Timeout" }, Conflict: { code: 409, name: "Conflict" }, Gone: { code: 410, name: "Gone" }, LengthRequired: { code: 411, name: "Length Required" }, PreconditionFailed: { code: 412, name: "Precondition Failed" }, PayloadTooLarge: { code: 413, name: "Payload Too Large" }, URITooLong: { code: 414, name: "URI Too Long" }, UnsupportedMediaType: { code: 415, name: "Unsupported Media Type" }, RangeNotSatisfiable: { code: 416, name: "Range Not Satisfiable" }, ExpectationFailed: { code: 417, name: "Expectation Failed" }, ImATeapot: { code: 418, name: "I'm a teapot" }, UnprocessableEntity: { code: 422, name: "Unprocessable Entity" }, TooManyRequests: { code: 429, name: "Too Many Requests" }, }, serverErrors: { InternalServerError: { code: 500, name: "Internal Server Error" }, NotImplemented: { code: 501, name: "Not Implemented" }, BadGateway: { code: 502, name: "Bad Gateway" }, ServiceUnavailable: { code: 503, name: "Service Unavailable" }, GatewayTimeout: { code: 504, name: "Gateway Timeout" }, HTTPVersionNotSupported: { code: 505, name: "HTTP Version Not Supported", }, }, }; export { httpCodes };