This library is a complete collection of all Http Status Codes
and Reason Phrases
along with helper functions
with no dependencies and is open source written in typescript.
Use with Typescript
or Javascript
in both server or client side.
- Hypertext Transfer Protocol (HTTP/1.0) defined in RFC 1945
- Hypertext Transfer Protocol (HTTP/1.1) defined in RFC 2616
- Web-based Distributed Authoring and Versioning (WebDAV) defined in RFC 2518
View project on GitHub
Each and every member/property/function of the library are properly documented to get comprehensive inforation along with supporting links to original sources.
An example of VS Code IntelliSense showing the Unauthorized enum member.
The complete documentation of this project can be found in this link.
Install from npm
npm install @js-thing/http-status-codes
Use ES module import
import {
HttpInformationStatusCodes,
HttpSuccessStatusCodes,
HttpRedirectionStatusCodes,
HttpClientErrorStatusCodes,
HttpServerErrorStatusCodes,
HttpStatusCodes,
} from '@js-thing/http-status-codes';
Or CommonJS Require
const {
HttpInformationStatusCodes,
HttpSuccessStatusCodes,
HttpRedirectionStatusCodes,
HttpClientErrorStatusCodes,
HttpServerErrorStatusCodes,
HttpStatusCodes,
} = require('@js-thing/http-status-codes');
The HttpStatusCodes
enum is the status code super set of HttpInformationStatusCodes
, HttpSuccessStatusCodes
, HttpRedirectionStatusCodes
, HttpClientErrorStatusCodes
and HttpServerErrorStatusCodes
enums
// use the combined enum to access any status code
const code = HttpStatusCodes.Continue; // code = 100
const code = HttpStatusCodes.Ok; // code = 200
const code = HttpStatusCodes.Found; // code = 302
const code = HttpStatusCodes.BadRequest; // code = 400
const code = HttpStatusCodes.InternalServerError; // code = 500
// Or use the individual enum group
const code = HttpInformationStatusCodes.Continue; // code = 100
const code = HttpSuccessStatusCodes.Ok; // code = 200
const code = HttpRedirectionStatusCodes.Found; // code = 302
const code = HttpClientErrorStatusCodes.BadRequest; // code = 400
const code = HttpServerErrorStatusCodes.InternalServerError; // code = 500
Similarly for reason phrase
const {
HttpInformationReasonPhrases,
HttpSuccessReasonPhrases,
HttpRedirectionReasonPhrases,
HttpClientErrorReasonPhrases,
HttpServerErrorReasonPhrases,
HttpReasonPhrases
} = require("@js-thing/http-status-codes");
// use the combined enum to access any reason rhrase
const phrase = HttpReasonPhrases.Continue; // phrase = "Continue"
const phrase = HttpReasonPhrases.Ok; // phrase = "OK"
const phrase = HttpReasonPhrases.Found; // phrase = "Found"
const phrase = HttpReasonPhrases.BadRequest; // phrase = "Bad Request"
const phrase = HttpReasonPhrases.InternalServerError; // phrase = "Internal Server Error"
// Or use the individual enum group
const phrase = HttpInformationReasonPhrases.Continue; // phrase = "Continue"
const phrase = HttpSuccessReasonPhrases.Ok; // phrase = "OK"
const phrase = HttpRedirectionReasonPhrases.Found; // phrase = "Found"
const phrase = HttpClientErrorReasonPhrases.BadRequest; // phrase = "Bad Request"
const phrase = HttpServerErrorReasonPhrases.InternalServerError; // phrase = "Internal Server Error"
Check status code, reason phrase defined in RFC
const {
isSuccessStatusCode,
isSuccessReasonPhrase,
isSuccessStatus,
} = require("@js-thing/http-status-codes");
isSuccessStatusCode(200); // returns true
isSuccessStatusCode(250); // returns false as 250 is not defined in RFC
isSuccessReasonPhrase("OK"); // returns true
isSuccessReasonPhrase("ABC"); // returns false
// isSuccessStatus accepts both number or string and can check code or phrase
isSuccessStatus(200); // returns true
isSuccessStatus("OK"); // returns true
// similarly these methods are available for other status family as well
Check status code family
const {
is1xxInformationStatusCode,
is2xxSuccessStatusCode,
is3xxRedirectionStatusCode,
is4xxClientErrorStatusCode,
is5xxServerErrorStatusCode,
} = require("@js-thing/http-status-codes");
is1xxInformationStatusCode(code); // returns true for code >= 100 && code <=199
is2xxSuccessStatusCode(code); // returns true for code >= 200 && code <=299
is3xxRedirectionStatusCode(code); // returns true for code >= 300 && code <=399
is4xxClientErrorStatusCode(code); // returns true for code >= 400 && code <=499
is5xxServerErrorStatusCode(code); // returns true for code >= 500 && code <=599
Get status code, reason phrase and complete status code with phrase
const {
getStatusCode,
getReasonPhrase,
getCompositeStatus,
} = require("@js-thing/http-status-codes");
getStatusCode("OK"); // returns 200
//or pass an optional parameter to ignore the case of the status phrase
getStatusCode("ok", true); // returns 200
getStatusCode("abc"); // returns undefined
getReasonPhrase(200); // returns "OK"
getCompositeStatus(200); // returns "200 OK"
Jnyan Ankur Kakati
Abhishek Chaterjee
Ankita Agarwal
Nabadeep Kakati - Logo
The documentation for this project is directly sourced from MDN Web Docs by Mozilla Contributors is licensed under CC-BY-SA 2.5
The project excluding the documentation is licenced under MIT