Skip to main content

HTTP

The http module provides two enums: HttpStatusCode for standard HTTP response codes, and HttpMethod for standard HTTP request methods.

Import

import { HttpStatusCode, HttpMethod } from '@open-kerno/commons/http';

HttpStatusCode

An enum with all standard HTTP status codes grouped by category.

1xx — Informational

MemberValue
CONTINUE100
SWITCHING_PROTOCOLS101
PROCESSING102
EARLY_HINTS103

2xx — Success

MemberValue
OK200
CREATED201
ACCEPTED202
NON_AUTHORITATIVE_INFORMATION203
NO_CONTENT204
RESET_CONTENT205
PARTIAL_CONTENT206
MULTI_STATUS207
ALREADY_REPORTED208
IM_USED226

3xx — Redirection

MemberValue
MULTIPLE_CHOICES300
MOVED_PERMANENTLY301
FOUND302
SEE_OTHER303
NOT_MODIFIED304
TEMPORARY_REDIRECT307
PERMANENT_REDIRECT308

4xx — Client Errors

MemberValue
BAD_REQUEST400
UNAUTHORIZED401
PAYMENT_REQUIRED402
FORBIDDEN403
NOT_FOUND404
METHOD_NOT_ALLOWED405
NOT_ACCEPTABLE406
PROXY_AUTHENTICATION_REQUIRED407
REQUEST_TIMEOUT408
CONFLICT409
GONE410
LENGTH_REQUIRED411
PRECONDITION_FAILED412
PAYLOAD_TOO_LARGE413
URI_TOO_LONG414
UNSUPPORTED_MEDIA_TYPE415
RANGE_NOT_SATISFIABLE416
EXPECTATION_FAILED417
IM_A_TEAPOT418
MISDIRECTED_REQUEST421
UNPROCESSABLE_ENTITY422
LOCKED423
FAILED_DEPENDENCY424
TOO_EARLY425
UPGRADE_REQUIRED426
PRECONDITION_REQUIRED428
TOO_MANY_REQUESTS429
REQUEST_HEADER_FIELDS_TOO_LARGE431
UNAVAILABLE_FOR_LEGAL_REASONS451

5xx — Server Errors

MemberValue
INTERNAL_ERROR500
NOT_IMPLEMENTED501
BAD_GATEWAY502
SERVICE_UNAVAILABLE503
GATEWAY_TIMEOUT504
HTTP_VERSION_NOT_SUPPORTED505
VARIANT_ALSO_NEGOTIATES506
INSUFFICIENT_STORAGE507
LOOP_DETECTED508
NOT_EXTENDED510
NETWORK_AUTHENTICATION_REQUIRED511

Example

import { HttpStatusCode } from '@open-kerno/commons/http';

res.status(HttpStatusCode.CREATED).json({ id: newUser.id });
res.status(HttpStatusCode.NOT_FOUND).json({ message: 'User not found' });

HttpMethod

An enum with all standard HTTP request methods.

MemberValue
GET'GET'
POST'POST'
PUT'PUT'
PATCH'PATCH'
DELETE'DELETE'
HEAD'HEAD'
OPTIONS'OPTIONS'
TRACE'TRACE'
CONNECT'CONNECT'

Example

import { HttpMethod } from '@open-kerno/commons/http';

const allowedMethods = [HttpMethod.GET, HttpMethod.POST];

if (!allowedMethods.includes(req.method as HttpMethod)) {
res.status(405).end();
}