|
let pkg = require('./../../package.json');
|
let req = require("request");
|
module.exports = function (request, responseCallBack) {
|
//自动管理cookie
|
let config = {jar: true, proxy: request.proxy}
|
let rq = req.defaults(config)
|
let headers = request.headers;
|
if (!headers['User-Agent'] && !headers['user-agent']) {
|
headers['User-Agent'] = 'fly/' + pkg.version;
|
}
|
//支持gzip
|
request.gzip = true;
|
if (request.hasOwnProperty("timeout") && request.timeout < 1) {
|
//use request lib default timeout
|
delete request.timeout;
|
}
|
let ret = {
|
statusCode: 0
|
}
|
if (request.responseType === "stream") {
|
delete request.responseType;
|
request.encoding=null;
|
}
|
|
rq(request, function (error, response, body) {
|
if (error) {
|
ret.statusMessage = error.message
|
} else {
|
ret.statusCode = response.statusCode
|
ret.responseText = body;
|
ret.headers = response.headers;
|
ret.statusMessage = response.statusMessage;
|
ret.response = response;
|
}
|
responseCallBack(ret)
|
})
|
|
}
|