UNPKG

erra

Version:
70 lines 2.19 kB
"use strict"; 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