Skip to content

Commit 51f96df

Browse files
imyllerjasnell
authored andcommitted
url: keep auth in url.resolve() if host matches
Fixes: #8165 PR-URL: #8215 Reviewed-By: James M Snell <[email protected]>
1 parent 09f861f commit 51f96df

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

lib/url.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -780,13 +780,13 @@ Url.prototype.resolveObject = function(relative) {
780780
if (isRelAbs) {
781781
// it's absolute.
782782
if (relative.host || relative.host === '') {
783+
if (result.host !== relative.host) result.auth = null;
783784
result.host = relative.host;
784785
result.port = relative.port;
785-
result.auth = null;
786786
}
787787
if (relative.hostname || relative.hostname === '') {
788+
if (result.hostname !== relative.hostname) result.auth = null;
788789
result.hostname = relative.hostname;
789-
result.auth = null;
790790
}
791791
result.search = relative.search;
792792
result.query = relative.query;

test/parallel/test-url.js

+3
Original file line numberDiff line numberDiff line change
@@ -1588,6 +1588,9 @@ var relativeTests2 = [
15881588
['mailto:another.host.com',
15891589
15901590
'mailto:another.host.com'],
1591+
['https://example.com/foo',
1592+
'https://user:[email protected]',
1593+
'https://user:[email protected]/foo'],
15911594
];
15921595
relativeTests2.forEach(function(relativeTest) {
15931596
const a = url.resolve(relativeTest[1], relativeTest[0]);

0 commit comments

Comments
 (0)