0.0.20 • Published 5 years ago

xshan-env v0.0.20

Weekly downloads
81
License
-
Repository
-
Last release
5 years ago

xshan-env

Protocol

200 OK:请求成功
201 Created:已创建
204 No Content:没有实体内容相应

300 Multiple Choices:重定向
301 Moved Permanently:永久重定向
302 Found:临时重定向
304 Not Modified:可继续使用缓存

400 Bad Request:客户端错误
401 Unauthorized:未登录
402 Payment Required:需要支付
403 Forbidden:禁止操作
404 Not Found:目标不存在
405 Method Not Allowed:请求方法不被支持
406 Not Acceptable:参数不正确
408 Request Timeout:请求超时
409 Conflict:产生冲突
410 Gone:目标已消失
412 Precondition Failed:先决条件不满足
413 Request Entity Too Large:请求实体太大
415 Unsupported Media Type:服务器不支持该格式
416 Requested Range Not Satisfiable:请求范围不被满足
422 Unprocessable Entity:格式正确但语义错误
423 Locked:资源已被锁定
428 Precondition Required:要求满足一定条件
429 Too Many Requests:请求次数太多
451 Unavailable For Legal Reasons:法律要求被拒绝

500 Internal Server Error:服务器错误
501 Not Implemented:服务器不支持该功能
503 Service Unavailable:服务不可用
507 Insufficient Storage:服务器存储空间不够

Globals

_ https://github.com/lodash/lodash

ms https://github.com/zeit/ms

logger https://github.com/winstonjs/winston

router https://github.com/ZijianHe/koa-router

agenda https://github.com/agenda/agenda

arhat https://wiki.lynctone.com/

broker https://github.com/dashersw/cote

mongoose https://github.com/Automattic/mongoose

jwtoken https://github.com/auth0/node-jsonwebtoken

Example

var request = require( 'superagent-use' )( require( 'superagent' ));

request.use( request => {
    request.set( 'Authorization', 'Bearer xxxxx' );         // token 认证
    request.timeout({ response: 8000, deadline: 60000 });   // 普通请求8秒,上传下载1分钟
    if ( request.method === 'GET' ) request.retry();        // 只有 GET 请求能安全重试
});

request.use( request => {
    request.catch( err => {
        if ( err.timeout || !err.status ) console.log( '网络不太好' );
        else if ( err.status >= 500 ) console.log( '有些不对劲' );
    });
});

let req = request.get( 'https://api.xshan.co' )
    .query({ aa: 'bb' })
    .then( res => {})
    .catch( err => {
        if ( err.status >= 400 && err.status < 500 )
            console.log( `请求不合法 ${ err.status }` );    // 前端需要细化提示
    });