@modern-js/runtime-utils
Version:
A Progressive React Framework for modern web development.
87 lines (86 loc) • 2.65 kB
JavaScript
;
var __webpack_require__ = {};
(()=>{
__webpack_require__.d = (exports1, definition)=>{
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
enumerable: true,
get: definition[key]
});
};
})();
(()=>{
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
})();
(()=>{
__webpack_require__.r = (exports1)=>{
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
value: 'Module'
});
Object.defineProperty(exports1, '__esModule', {
value: true
});
};
})();
var __webpack_exports__ = {};
__webpack_require__.r(__webpack_exports__);
__webpack_require__.d(__webpack_exports__, {
getHost: ()=>getHost,
getPathname: ()=>getPathname,
parseCookie: ()=>parseCookie,
parseHeaders: ()=>parseHeaders,
parseQuery: ()=>parseQuery
});
function parseQuery(req) {
const query = {};
const { url } = req;
const q = url.split('?')[1];
if (q) {
const search = new URLSearchParams(q);
search.forEach((v, k)=>{
query[k] = v;
});
}
return query;
}
function parseHeaders(request) {
const headersData = {};
request.headers.forEach((value, key)=>{
headersData[key] = value;
});
return headersData;
}
function getPathname(request) {
const match = request.url.match(/^https?:\/\/[^/]+(\/[^?]*)/);
return match ? match[1] : '/';
}
function getHost(request) {
const { headers } = request;
let host = headers.get('X-Forwarded-Host');
if (!host) host = headers.get('Host');
host = host?.split(/\s*,\s*/, 1)[0] || 'undefined';
return host;
}
function parseCookie(req) {
const _cookie = req.headers.get('Cookie');
const cookie = {};
_cookie?.trim().split(';').forEach((item)=>{
const [k, v] = item.trim().split('=');
if (k) cookie[k] = v;
});
return cookie;
}
exports.getHost = __webpack_exports__.getHost;
exports.getPathname = __webpack_exports__.getPathname;
exports.parseCookie = __webpack_exports__.parseCookie;
exports.parseHeaders = __webpack_exports__.parseHeaders;
exports.parseQuery = __webpack_exports__.parseQuery;
for(var __rspack_i in __webpack_exports__)if (-1 === [
"getHost",
"getPathname",
"parseCookie",
"parseHeaders",
"parseQuery"
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
Object.defineProperty(exports, '__esModule', {
value: true
});