diff options
Diffstat (limited to 'school/node_modules/@polka/url/index.js')
-rw-r--r-- | school/node_modules/@polka/url/index.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/school/node_modules/@polka/url/index.js b/school/node_modules/@polka/url/index.js new file mode 100644 index 0000000..aa84fda --- /dev/null +++ b/school/node_modules/@polka/url/index.js @@ -0,0 +1,22 @@ +module.exports = function (req) { + let url = req.url; + if (url === void 0) return url; + + let obj = req._parsedUrl; + if (obj && obj._raw === url) return obj; + + obj = {}; + obj.query = obj.search = null; + obj.href = obj.path = obj.pathname = url; + + let idx = url.indexOf('?', 1); + if (idx !== -1) { + obj.search = url.substring(idx); + obj.query = obj.search.substring(1); + obj.pathname = url.substring(0, idx); + } + + obj._raw = url; + + return (req._parsedUrl = obj); +} |