网页
这是临时叉子 ForbesLindesay/http-basic。 。 。 .
简单包装 http.request/https.request
安装
npm install http-basic
使用量
var request = require('http-basic');
var options = {followRedirects: true, gzip: true, cache: 'memory'};
var req = request('GET', 'http://example.com', options, function (err, res) {
if (err) throw err;
console.dir(res.statusCode);
res.body.resume();
});
req.end();
方法 :
Http方法(例如:. GET, (中文(简体) ), POST, (中文(简体) ), PUT, (中文(简体) ), DELETE (例如)
url : (中文(简体) )
Url作为字符串(例如. http://example.com) (中文(简体) ). 它必须是完全合格的,无论是https还是https.
选项:
headers- (违约){}) http页眉agent- (默认:false控制器保持活性(见 http://nodejs.org/api/http.html#http http request options callback (中文(简体) )(中文(简体) )duplex- (默认:true除外GET, (中文(简体) ),OPTIONS财务报告和审定财务报表HEAD请求)允许您在请求上明确设置一个机构,使用通常没有机构的方法followRedirects- (默认:false) - 如果真实,则遵循方向调整(注意这只影响回调的结果)maxRedirects- (默认:Infinity) - 限制允许的重定向次数.allowRedirectHeaders(默认 :null) - 允许重定向(如果null) (中文(简体) ).gzip(默认 :false) - 自动接受gzip并分解编码. 这对用户完全透明.cache- (默认:null) - (英语)'memory'或者说'file'来使用缓存中构建的默认值,或者您可以通过自己的缓存执行.timeout(默认 :false- 如果在给定的毫秒数内没有回复,则取消.socketTimeout(默认 :false- 打电话req.setTimeout如果未看到给定的毫秒数的新数据,则内部会暂停请求.retry(默认 :false) - 重试获得请求. 设定为true当请求错误或返回一个大于或等于400的状态代码时重试(也可以是一个需要的函数)(err, req, attemptNo) => shouldRetry(中文(简体) )retryDelay(默认 :200) - 复试之间的延迟(也可以设定为需要(err, res, attemptNo) => delay(中文(简体) )maxRetries(默认 :5)——放弃前重试的次数.ignoreFailedInvalidation(默认 :false) - 如果存在删除缓存响应的问题,缓存是否应当吞入错误. 注意启用此设置可能导致不正确的缓存数据返回用户 .isMatch- 说吧(requestHeaders: Headers, cachedResponse: CachedResponse, defaultValue: boolean) => boolean- 测试缓存回复是否与请求相匹配的默认行为.isExpired- 说吧(cachedResponse: CachedResponse, defaultValue: boolean) => boolean- 测试缓存回复是否过期的默认行为canCache- 说吧(res: Response<NodeJS.ReadableStream>, defaultValue: boolean) => boolean- 超越默认行为以测试是否能够缓存一个响应
回调 :
召回是用 err 作为第一个论点 res 作为第二个论点. res 是一个 http-应答对象它具有以下属性:
statusCode- 代表HTTP状态代码的数字headers- 代表 HTTP 信头的对象body- 可读流 重现请求体.url- 请求的 URL( 如果是重定向, 这是请求的最后 URL)
返回 :
如果这种方法是 GET, (中文(简体) ), DELETE 或者说 HEAD返回时 undefined。 。 。 .
否则, 它返回请求正文的可写流 .
执行缓存
A 类 Cache 是一个具有三种方法的对象:
getResponse(url, callback)- 获取缓存的响应对象setResponse(url, response)- 缓存响应对象invalidateResponse(url, callback)- 删除不再有效的回复
缓存响应对象是一个具有下列属性的对象:
statusCode- 人数headers- 对象(串键值对)body- 流(二进制数据流)requestHeaders- 对象(串键值对)requestTimestamp- 人数
getResponse 应使用可选错误调用回调符, 且其中之一 null 或缓存的响应对象,取决于在缓存中是否可以找到url. 仅 GETs为缓存.
setResponse 只需吞入任何错误( 或使用 console.warn) (中文(简体) ).
invalidateResponse 如果无法使回复无效,则应当以可选错误调用回调.
缓存还可以定义来自 lib/cache-utils.js 以覆盖被缓存的行为。 目前仍然只能缓存"获得"请求,尽管这可以被更改.
许可证
麻省理工学院