Skip to content

Commit 6ae7af0

Browse files
imyllerFishrock123
authored andcommitted
url: keep auth in url.resolve() if host matches
Fixes: #8165 PR-URL: #8215 Reviewed-By: James M Snell <jasnell@gmail.com>
1 parent eec5d02 commit 6ae7af0

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

lib/url.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -775,13 +775,13 @@ Url.prototype.resolveObject = function(relative) {
775775
if (isRelAbs) {
776776
// it's absolute.
777777
if (relative.host || relative.host === '') {
778+
if (result.host !== relative.host) result.auth = null;
778779
result.host = relative.host;
779780
result.port = relative.port;
780-
result.auth = null;
781781
}
782782
if (relative.hostname || relative.hostname === '') {
783+
if (result.hostname !== relative.hostname) result.auth = null;
783784
result.hostname = relative.hostname;
784-
result.auth = null;
785785
}
786786
result.search = relative.search;
787787
result.query = relative.query;

test/parallel/test-url.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1571,6 +1571,9 @@ var relativeTests2 = [
15711571
['mailto:another.host.com',
15721572
'mailto:user@example.org',
15731573
'mailto:another.host.com'],
1574+
['https://example.com/foo',
1575+
'https://user:password@example.com',
1576+
'https://user:password@example.com/foo'],
15741577
];
15751578
relativeTests2.forEach(function(relativeTest) {
15761579
const a = url.resolve(relativeTest[1], relativeTest[0]);

0 commit comments

Comments
 (0)