url: add a got host pattern in url.js
Add a hostPattern variable for readable purposes PR-URL: https://github.com/nodejs/node/pull/9653 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Brian White <mscdex@mscdex.net>
This commit is contained in:
parent
6ade6dedab
commit
1be73e828d
@ -42,6 +42,7 @@ function Url() {
|
||||
// compiled once on the first module load.
|
||||
const protocolPattern = /^([a-z0-9.+-]+:)/i;
|
||||
const portPattern = /:[0-9]*$/;
|
||||
const hostPattern = /^\/\/[^@/]+@[^@/]+/;
|
||||
|
||||
// Special case for a simple path URL
|
||||
const simplePathPattern = /^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/;
|
||||
@ -204,7 +205,7 @@ Url.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {
|
||||
// user@server is *always* interpreted as a hostname, and url
|
||||
// resolution will treat //foo/bar as host=foo,path=bar because that's
|
||||
// how the browser resolves relative URLs.
|
||||
if (slashesDenoteHost || proto || /^\/\/[^@/]+@[^@/]+/.test(rest)) {
|
||||
if (slashesDenoteHost || proto || hostPattern.test(rest)) {
|
||||
var slashes = rest.charCodeAt(0) === 47/*/*/ &&
|
||||
rest.charCodeAt(1) === 47/*/*/;
|
||||
if (slashes && !(proto && hostlessProtocol[proto])) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user