@aws-sdk/url-parser-node
Version:
[](https://www.npmjs.com/package/@aws-sdk/url-parser-node) [](https://www.npmjs.com/package/@aws-sd
20 lines (16 loc) • 531 B
text/typescript
import { parseQueryString } from "@aws-sdk/querystring-parser";
import { Endpoint, QueryParameterBag, UrlParser } from "@aws-sdk/types";
export const parseUrl: UrlParser = (url: string): Endpoint => {
const { hostname = "localhost", pathname = "/", port, protocol = "https:", search } = new URL(url);
let query: QueryParameterBag | undefined;
if (search) {
query = parseQueryString(search);
}
return {
hostname,
port: port ? parseInt(port) : undefined,
protocol,
path: pathname,
query,
};
};