TYPESCRIPT
Published: 08.2023
Views: 86
>_ HTTP Status Codes with TypeScript Enums
Explore how to effectively manage HTTP status codes using TypeScript enums. Learn to create a maintainable and type-safe system for handling HTTP responses.
HTTP Status Codes in TypeScript
TypeScript's enum feature provides an elegant way to manage HTTP status codes, making your code more maintainable and type-safe.
The HTTP Status Code Enum
export enum HttpStatusCode {
// 1xx Informational
CONTINUE = 100,
SWITCHING_PROTOCOLS = 101,
PROCESSING = 102,
// 2xx Success
OK = 200,
CREATED = 201,
ACCEPTED = 202,
NON_AUTHORITATIVE_INFORMATION = 203,
NO_CONTENT = 204,
RESET_CONTENT = 205,
PARTIAL_CONTENT = 206,
MULTI_STATUS = 207,
ALREADY_REPORTED = 208,
IM_USED = 226,
// 3xx Redirection
MULTIPLE_CHOICES = 300,
MOVED_PERMANENTLY = 301,
FOUND = 302,
SEE_OTHER = 303,
NOT_MODIFIED = 304,
USE_PROXY = 305,
TEMPORARY_REDIRECT = 307,
PERMANENT_REDIRECT = 308,
// 4xx Client errors
BAD_REQUEST = 400,
UNAUTHORIZED = 401,
PAYMENT_REQUIRED = 402,
FORBIDDEN = 403,
NOT_FOUND = 404,
METHOD_NOT_ALLOWED = 405,
NOT_ACCEPTABLE = 406,
PROXY_AUTHENTICATION_REQUIRED = 407,
REQUEST_TIMEOUT = 408,
CONFLICT = 409,
GONE = 410,
LENGTH_REQUIRED = 411,
PRECONDITION_FAILED = 412,
PAYLOAD_TOO_LARGE = 413,
URI_TOO_LONG = 414,
UNSUPPORTED_MEDIA_TYPE = 415,
RANGE_NOT_SATISFIABLE = 416,
EXPECTATION_FAILED = 417,
IM_A_TEAPOT = 418,
MISDIRECTED_REQUEST = 421,
UNPROCESSABLE_ENTITY = 422,
LOCKED = 423,
FAILED_DEPENDENCY = 424,
UPGRADE_REQUIRED = 426,
PRECONDITION_REQUIRED = 428,
TOO_MANY_REQUESTS = 429,
REQUEST_HEADER_FIELDS_TOO_LARGE = 431,
UNAVAILABLE_FOR_LEGAL_REASONS = 451,
// 5xx Server errors
INTERNAL_SERVER_ERROR = 500,
NOT_IMPLEMENTED = 501,
BAD_GATEWAY = 502,
SERVICE_UNAVAILABLE = 503,
GATEWAY_TIMEOUT = 504,
HTTP_VERSION_NOT_SUPPORTED = 505,
VARIANT_ALSO_NEGOTIATES = 506,
INSUFFICIENT_STORAGE = 507,
LOOP_DETECTED = 508,
NOT_EXTENDED = 510,
NETWORK_AUTHENTICATION_REQUIRED = 511,
}
Categories Overview
1xx: Informational
- 100 Continue
- 101 Switching Protocols
- 102 Processing
2xx: Success
- 200 OK
- 201 Created
- 202 Accepted
- Additional success codes...
3xx: Redirection
- 300 Multiple Choices
- 301 Moved Permanently
- 302 Found
- Other redirect codes...
4xx: Client Errors
- 400 Bad Request
- 401 Unauthorized
- 404 Not Found
- More client errors...
5xx: Server Errors
- 500 Internal Server Error
- 502 Bad Gateway
- 503 Service Unavailable
- Additional server errors...
Benefits of Using Enums
-
Type Safety
- Compile-time checking
- Autocompletion support
- Error prevention
-
Code Organization
- Logical grouping
- Easy reference
- Clear categorization
-
Maintainability
- Centralized definitions
- Easy updates
- Consistent usage
Best Practices
- Use descriptive enum names
- Group related status codes
- Include relevant comments
- Maintain standard naming
- Consider backwards compatibility
TypeScript enums make working with HTTP status codes more reliable and developer-friendly.
TAGS:
API
HTTP
ENUMS