mof-statuscode
v0.1.1
Published
Detect and cope with differnet status code.
Downloads
5
Readme
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-statuscode
Usage
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|~~empty~~ buffer|-|break| |4XX / 5XX|empty buffer|-|break| |4XX / 5XX|~~buffer~~|-|break| |3XX|-|~~exist~~|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|