blob: 848ef300f6d747868fd335938c5639ffc43464bf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
'use strict';
const is = require('@sindresorhus/is');
module.exports = url => {
const options = {
protocol: url.protocol,
hostname: url.hostname.startsWith('[') ? url.hostname.slice(1, -1) : url.hostname,
hash: url.hash,
search: url.search,
pathname: url.pathname,
href: url.href
};
if (is.string(url.port) && url.port.length > 0) {
options.port = Number(url.port);
}
if (url.username || url.password) {
options.auth = `${url.username}:${url.password}`;
}
options.path = is.null(url.search) ? url.pathname : `${url.pathname}${url.search}`;
return options;
};
|