erra
Version:
mock工具
70 lines • 2.19 kB
JavaScript
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
var url_1 = __importDefault(require("url"));
var fp_1 = require("lodash/fp");
function sleep(millisecond) {
return new Promise(function (resolve) {
setTimeout(resolve, millisecond);
});
}
exports.sleep = sleep;
// 从req中解析处完整的 url 信息
function parseUrl4Req(req) {
var u = url_1["default"].parse(req.url);
// 添加origin字段
var url = __assign({ origin: null }, u);
if (url.protocol && url.host) {
url.origin = url.protocol + "//" + url.host;
url.shortHref = "" + url.origin + url.pathname;
return url;
}
// https 请求,req.url中只有path
url.host = req.headers.host;
// todo 兼容ws、wss协议
url.protocol = 'https:';
url.origin = url.protocol + "//" + url.host;
url.shortHref = "" + url.origin + url.pathname;
url.href = "" + url.shortHref + (url.search || '') + (url.hash || '');
return url;
}
exports.parseUrl4Req = parseUrl4Req;
/**
* 尝试将任意对象解析为JSON对象,如果解析失败则返回原对象,不会抛出错误
*/
function safeJSONParse(val) {
if (!fp_1.isString(val))
return val;
try {
return JSON.parse(val);
}
catch (e) {
return val;
}
}
exports.safeJSONParse = safeJSONParse;
/**
* 判断当前返回类型是否是文本
* @param resp SimpleResp
*/
function isTextResp(resp) {
var ct = resp.headers['content-type'] || resp.headers['Content-Type'];
if (!ct)
return false;
return /text|json|javascript|xml|svg|csv|html?|css/.test(ct);
}
exports.isTextResp = isTextResp;
//# sourceMappingURL=utils.js.map
;