diff options
author | Kevin Smith <Kevin.Smith@microsoft.com> | 2018-12-29 12:57:39 -0800 |
---|---|---|
committer | Daniel Bevenius <daniel.bevenius@gmail.com> | 2019-01-11 07:17:44 +0100 |
commit | 7237eaa3353aacf284289c8b59b0a5e0fa5744bb (patch) | |
tree | 7feae677089115aa49b19f283cc81d6cb5ae8c51 /lib/internal/url.js | |
parent | eb664c3b6df2ec618fa1c9339dbd418e858bfcfa (diff) | |
download | android-node-v8-7237eaa3353aacf284289c8b59b0a5e0fa5744bb.tar.gz android-node-v8-7237eaa3353aacf284289c8b59b0a5e0fa5744bb.tar.bz2 android-node-v8-7237eaa3353aacf284289c8b59b0a5e0fa5744bb.zip |
url: return backslashes from fileURLToPath on win
PR-URL: https://github.com/nodejs/node/pull/25349
Fixes: https://github.com/nodejs/node/issues/25265
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
Reviewed-By: John-David Dalton <john.david.dalton@gmail.com>
Diffstat (limited to 'lib/internal/url.js')
-rw-r--r-- | lib/internal/url.js | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/internal/url.js b/lib/internal/url.js index 45ed236511..6ad7122b86 100644 --- a/lib/internal/url.js +++ b/lib/internal/url.js @@ -1275,6 +1275,8 @@ function urlToOptions(url) { return options; } +const forwardSlashRegEx = /\//g; + function getPathFromURLWin32(url) { var hostname = url.hostname; var pathname = url.pathname; @@ -1289,6 +1291,7 @@ function getPathFromURLWin32(url) { } } } + pathname = pathname.replace(forwardSlashRegEx, '\\'); pathname = decodeURIComponent(pathname); if (hostname !== '') { // If hostname is set, then we have a UNC path @@ -1297,7 +1300,7 @@ function getPathFromURLWin32(url) { // about percent encoding because the URL parser will have // already taken care of that for us. Note that this only // causes IDNs with an appropriate `xn--` prefix to be decoded. - return `//${domainToUnicode(hostname)}${pathname}`; + return `\\\\${domainToUnicode(hostname)}${pathname}`; } else { // Otherwise, it's a local path that requires a drive letter var letter = pathname.codePointAt(1) | 0x20; |