24 lines
527 B
JavaScript
24 lines
527 B
JavaScript
'use strict';
|
|
|
|
var querystringParser = require('@smithy/querystring-parser');
|
|
|
|
const parseUrl = (url) => {
|
|
if (typeof url === "string") {
|
|
return parseUrl(new URL(url));
|
|
}
|
|
const { hostname, pathname, port, protocol, search } = url;
|
|
let query;
|
|
if (search) {
|
|
query = querystringParser.parseQueryString(search);
|
|
}
|
|
return {
|
|
hostname,
|
|
port: port ? parseInt(port) : undefined,
|
|
protocol,
|
|
path: pathname,
|
|
query,
|
|
};
|
|
};
|
|
|
|
exports.parseUrl = parseUrl;
|