UNPKG

@aws-sdk/url-parser-node

Version:

[![NPM version](https://img.shields.io/npm/v/@aws-sdk/url-parser-node/latest.svg)](https://www.npmjs.com/package/@aws-sdk/url-parser-node) [![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/url-parser-node.svg)](https://www.npmjs.com/package/@aws-sd

20 lines (16 loc) 531 B
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, }; };