Innovenergy_trunk/frontend/node_modules/http-status-codes/README.md

137 lines
7.2 KiB
Markdown

# http-status-codes
Constants enumerating the HTTP status codes. Based on the [Java Apache HttpStatus API](http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/HttpStatus.html).
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.
TypeScript or JavaScript. Completely library agnostic. No dependencies.
## Installation
```console
npm install http-status-codes --save
```
## Usage (express 4.x)
```typescript
import {
ReasonPhrases,
StatusCodes,
getReasonPhrase,
getStatusCode,
} from 'http-status-codes';
response
.status(StatusCodes.OK)
.send(ReasonPhrases.OK);
response
.status(StatusCodes.INTERNAL_SERVER_ERROR)
.send({
error: getReasonPhrase(StatusCodes.INTERNAL_SERVER_ERROR)
});
response
.status(getStatusCode('Internal Server Error'))
.send({
error: 'Internal Server Error'
});
```
## Codes
| Code | Constant | Reason Phrase |
| ---- | ------------------------------- | ------------------------------- |
| 100 | CONTINUE | Continue |
| 101 | SWITCHING_PROTOCOLS | Switching Protocols |
| 102 | PROCESSING | Processing |
| 200 | OK | OK |
| 201 | CREATED | Created |
| 202 | ACCEPTED | Accepted |
| 203 | NON_AUTHORITATIVE_INFORMATION | Non Authoritative Information |
| 204 | NO_CONTENT | No Content |
| 205 | RESET_CONTENT | Reset Content |
| 206 | PARTIAL_CONTENT | Partial Content |
| 207 | MULTI_STATUS | Multi-Status |
| 300 | MULTIPLE_CHOICES | Multiple Choices |
| 301 | MOVED_PERMANENTLY | Moved Permanently |
| 302 | MOVED_TEMPORARILY | Moved Temporarily |
| 303 | SEE_OTHER | See Other |
| 304 | NOT_MODIFIED | Not Modified |
| 305 | USE_PROXY | Use Proxy |
| 307 | TEMPORARY_REDIRECT | Temporary Redirect |
| 308 | PERMANENT_REDIRECT | Permanent Redirect |
| 400 | BAD_REQUEST | Bad Request |
| 401 | UNAUTHORIZED | Unauthorized |
| 402 | PAYMENT_REQUIRED | Payment Required |
| 403 | FORBIDDEN | Forbidden |
| 404 | NOT_FOUND | Not Found |
| 405 | METHOD_NOT_ALLOWED | Method Not Allowed |
| 406 | NOT_ACCEPTABLE | Not Acceptable |
| 407 | PROXY_AUTHENTICATION_REQUIRED | Proxy Authentication Required |
| 408 | REQUEST_TIMEOUT | Request Timeout |
| 409 | CONFLICT | Conflict |
| 410 | GONE | Gone |
| 411 | LENGTH_REQUIRED | Length Required |
| 412 | PRECONDITION_FAILED | Precondition Failed |
| 413 | REQUEST_TOO_LONG | Request Entity Too Large |
| 414 | REQUEST_URI_TOO_LONG | Request-URI Too Long |
| 415 | UNSUPPORTED_MEDIA_TYPE | Unsupported Media Type |
| 416 | REQUESTED_RANGE_NOT_SATISFIABLE | Requested Range Not Satisfiable |
| 417 | EXPECTATION_FAILED | Expectation Failed |
| 418 | IM_A_TEAPOT | I'm a teapot |
| 419 | INSUFFICIENT_SPACE_ON_RESOURCE | Insufficient Space on Resource |
| 420 | METHOD_FAILURE | Method Failure |
| 421 | MISDIRECTED_REQUEST | Misdirected Request |
| 422 | UNPROCESSABLE_ENTITY | Unprocessable Entity |
| 423 | LOCKED | Locked |
| 424 | FAILED_DEPENDENCY | Failed Dependency |
| 428 | PRECONDITION_REQUIRED | Precondition Required |
| 429 | TOO_MANY_REQUESTS | Too Many Requests |
| 431 | REQUEST_HEADER_FIELDS_TOO_LARGE | Request Header Fields Too Large |
| 451 | UNAVAILABLE_FOR_LEGAL_REASONS | Unavailable For Legal Reasons |
| 500 | INTERNAL_SERVER_ERROR | Internal Server Error |
| 501 | NOT_IMPLEMENTED | Not Implemented |
| 502 | BAD_GATEWAY | Bad Gateway |
| 503 | SERVICE_UNAVAILABLE | Service Unavailable |
| 504 | GATEWAY_TIMEOUT | Gateway Timeout |
| 505 | HTTP_VERSION_NOT_SUPPORTED | HTTP Version Not Supported |
| 507 | INSUFFICIENT_STORAGE | Insufficient Storage |
| 511 | NETWORK_AUTHENTICATION_REQUIRED | Network Authentication Required |
## Migrating from v1.x.x
http-status-codes v2 is mostly backwards compatible with v1. There is a single breaking change and two recommended changes.
#### [Breaking Change] 'Server Error'
The reason phrase for the status code `500` has been changed from `"Server Error"` to `"Internal Server Error"`. This is the correct phrase according to RFC7231. If you are migrating from v1, and have code that relies on the result of `getStatusText(500)` or `getReasonPhrase('Server Error')`, then this could affect you.
#### [Non-breaking change] getStatusText renamed getReasonPhrase
The function `getStatusText` has been renamed to `getReasonPhrase`. The old function is still available, but may be deprecated in a future version. To fix this simply rename instances of `getStatusText()` to `getReasonPhrase()`. The function is otherwise the same as it was before.
#### [Non-breaking change] StatusCodes
In http-status-codes v1, Status Codes were exported directly from the top-level module. i.e. `HttpStatus.OK`. In v2 all Status Codes live under an object called `StatusCodes`. i.e. `HttpStatus.StatusCodes.OK`. We made this change to cater to TypeScript users who prefer a dedicated value with an enum type. The previous values are still exported, but we won't continue to update them. Please migrate if you're using the old-style imports.
## Proposing a new status code
If you'd like to propose a new status code, feel free to update "codes.json" with the necessary
information and open a pull request. There is no need to modify source code or even this README.
This is done automatically by `npm run update-codes`.
In general, we try to include only codes that have an official RFC and have been approved, however
exceptions can be made if the code is already in widespread use in the wild.
## Steps to build and publish
```shell
npm run update-codes
npm run test
npm run build
npm version [major | minor | patch]
npm publish
```