Skip to content
Constants enumerating the HTTP status codes. All status codes defined in RFC1945 (HTTP/1.0, RFC2616 (HTTP/1.1), and RFC2518 (WebDAV) are supported.
Branch: master
Clone or download
Pull request Compare This branch is 2 commits ahead, 4 commits behind prettymuchbryce:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE
README.md
index.d.ts
index.js
package.json

README.md

http-status-codes

Constants enumerating the HTTP status codes. Based on the Java Apache HttpStatus API.

All status codes defined in RFC1945 (HTTP/1.0), RFC2616 (HTTP/1.1), RFC2518 (WebDAV), RFC6585 (Additional HTTP Status Codes), and RFC7538 (Permanent Redirect) are supported.

Completely library agnostic. No dependencies.

Installation

npm install http-status-codes --save

Usage (express 4.x)

var HttpStatus = require('http-status-codes');

response
	.status(HttpStatus.OK)
	.send('ok');

response
	.status(HttpStatus.INTERNAL_SERVER_ERROR)
	.send({
		error: HttpStatus.getStatusText(HttpStatus.INTERNAL_SERVER_ERROR)
	});

Codes

Constant Code Status Text
ACCEPTED 202 Accepted
BAD_GATEWAY 502 Bad Gateway
BAD_REQUEST 400 Bad Request
CONFLICT 409 Conflict
CONTINUE 100 Continue
CREATED 201 Created
EXPECTATION_FAILED 417 Expectation Failed
FAILED_DEPENDENCY 424 Failed Dependency
FORBIDDEN 403 Forbidden
GATEWAY_TIMEOUT 504 Gateway Timeout
GONE 410 Gone
HTTP_VERSION_NOT_SUPPORTED 505 HTTP Version Not Supported
IM_A_TEAPOT 418 I'm a teapot
INSUFFICIENT_SPACE_ON_RESOURCE 419 Insufficient Space on Resource
INSUFFICIENT_STORAGE 507 Insufficient Storage
INTERNAL_SERVER_ERROR 500 Server Error
LENGTH_REQUIRED 411 Length Required
LOCKED 423 Locked
METHOD_FAILURE 420 Method Failure
METHOD_NOT_ALLOWED 405 Method Not Allowed
MOVED_PERMANENTLY 301 Moved Permanently
MOVED_TEMPORARILY 302 Moved Temporarily
MULTI_STATUS 207 Multi-Status
MULTIPLE_CHOICES 300 Multiple Choices
NETWORK_AUTHENTICATION_REQUIRED 511 Network Authentication Required
NO_CONTENT 204 No Content
NON_AUTHORITATIVE_INFORMATION 203 Non Authoritative Information
NOT_ACCEPTABLE 406 Not Acceptable
NOT_FOUND 404 Not Found
NOT_IMPLEMENTED 501 Not Implemented
NOT_MODIFIED 304 Not Modified
OK 200 OK
PARTIAL_CONTENT 206 Partial Content
PAYMENT_REQUIRED 402 Payment Required
PERMANENT_REDIRECT 308 Permanent Redirect
PRECONDITION_FAILED 412 Precondition Failed
PRECONDITION_REQUIRED 428 Precondition Required
PROCESSING 102 Processing
PROXY_AUTHENTICATION_REQUIRED 407 Proxy Authentication Required
REQUEST_HEADER_FIELDS_TOO_LARGE 431 Request Header Fields Too Large
REQUEST_TIMEOUT 408 Request Timeout
REQUEST_TOO_LONG 413 Request Entity Too Large
REQUEST_URI_TOO_LONG 414 Request-URI Too Long
REQUESTED_RANGE_NOT_SATISFIABLE 416 Requested Range Not Satisfiable
RESET_CONTENT 205 Reset Content
SEE_OTHER 303 See Other
SERVICE_UNAVAILABLE 503 Service Unavailable
SWITCHING_PROTOCOLS 101 Switching Protocols
TEMPORARY_REDIRECT 307 Temporary Redirect
TOO_MANY_REQUESTS 429 Too Many Requests
UNAUTHORIZED 401 Unauthorized
UNPROCESSABLE_ENTITY 422 Unprocessable Entity
UNSUPPORTED_MEDIA_TYPE 415 Unsupported Media Type
USE_PROXY 305 Use Proxy

TypeScript

There is an included definition file that adds rules for use, comments, and links to official documentation.

Usage

Option 1: Full import of package

import * as HttpStatus from 'http-status-codes'

response
	.status(HttpStatus.OK)
	.send('ok')

response
	.status(HttpStatus.INTERNAL_SERVER_ERROR)
	.send({
		error: HttpStatus.getStatusText(HttpStatus.INTERNAL_SERVER_ERROR)
	})

Option 2: Selective import

import { OK, getStatusText } from 'http-status-codes'

response
	.status(OK)
	.send(getStatusText(OK))
You can’t perform that action at this time.