0.1.1 • Published 6 years ago
mof-statuscode v0.1.1
mof-statuscode
mof-statuscode is a middleware of floodesh, it will make a decision whether to execute following middleware according to returned http status code.
Install
npm install mof-statuscodeUsage
const Worker = require("floodesh/worker")
const request = require('mof-request')
const statuscode = require('mof-statuscode')
const worker = new Worker()
worker.use(co.wrap(request(worker.config.downloader))); // make sure the ctx existing before using statuscode
worker.use(co.wrap(statuscode));There will be 7 cases in mof-statuscode, each case is corresponded with a coping method:
| status code | response body | allow to follow redirect | coping method |
|---|---|---|---|
| 4XX / 5XX | - | break | |
| 4XX / 5XX | empty buffer | - | break |
| 4XX / 5XX | - | break | |
| 3XX | - | break | |
| 3XX | - | true | break |
| 3XX | - | false | continue |
| 2XX | - | - | continue |
HTTP response status codes
HTTP response status codes indicate whether a specific HTTP request has been successfully completed. Responses are grouped in five classes:
- Informational responses (100–199),
- Successful responses (200–299),
- Redirects (300–399),
- Client errors (400–499),
- and Server errors (500–599).
| code | message |
|---|---|
| 100 | Continue |
| 101 | Switching Protocols |
| 102 | Processing |
| 200 | OK |
| 201 | Created |
| 202 | Accepted |
| 203 | Non-Authoritative Information |
| 204 | No Content |
| 205 | Reset Content |
| 206 | Partial Content |
| 207 | Multi-Status |
| 208 | Already Reported |
| 226 | IM Used |
| 300 | Multiple Choices |
| 301 | Moved Permanently |
| 302 | Found |
| 303 | See Other |
| 304 | Not Modified |
| 305 | Use Proxy |
| 306 | Switch Proxy |
| 307 | Temporary Redirect |
| 308 | Permanent Redirect |
| 400 | Bad Request |
| 401 | Unauthorized |
| 402 | Payment Required |
| 403 | Forbidden |
| 404 | Not Found |
| 405 | Method Not Allowed |
| 406 | Not Acceptable |
| 407 | Proxy Authentication Required |
| 408 | Request Timeout |
| 409 | Conflict |
| 410 | Gone |
| 411 | Length Required |
| 412 | Precondition Failed |
| 413 | Request Entity Too Large |
| 414 | Request-URI Too Long |
| 415 | Unsupported Media Type |
| 416 | Requested Range Not Satisfiable |
| 417 | Expectation Failed |
| 418 | I'm a teapot |
| 421 | Misdirected Request |
| 422 | Unprocessable Entity |
| 423 | Locked |
| 424 | Failed Dependency |
| 425 | Too Early |
| 426 | Upgrade Required |
| 428 | Precondition Required |
| 429 | Too Many Requests |
| 431 | Request Header Fields Too Large |
| 451 | Unavailable For Legal Reasons |
| 500 | Internal Server Error |
| 501 | Not Implemented |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
| 504 | Gateway Timeout |
| 505 | HTTP Version Not Supported |
| 506 | Variant Also Negotiates |
| 507 | Insufficient Storage |
| 508 | Loop Detected |
| 510 | Not Extended |
| 511 | Network Authentication Required |
| 420 | Enhance Your Caim |
| 444 | No Response |
| 450 | Blocked by Windows Parental Controls |
| 494 | Request Header Too Large |