url: fix parsing of ssh urls
Fix regression introduced in 61204720361824881aefd64f5bccda7d7be6617a that broke parsing of some ssh: urls. An example url is ssh://git@github.com:npm/npm.git PR-URL: https://github.com/iojs/io.js/pull/299 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
This commit is contained in:
parent
70c2501373
commit
a1e54d6fb7
@ -72,9 +72,8 @@ var protocolPattern = /^([a-z0-9.+-]+:)/i,
|
|||||||
nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),
|
nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),
|
||||||
hostEndingChars = ['/', '?', '#'],
|
hostEndingChars = ['/', '?', '#'],
|
||||||
hostnameMaxLen = 255,
|
hostnameMaxLen = 255,
|
||||||
hostnamePatternString = '[^' + nonHostChars.join('') + ']{0,63}',
|
hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,
|
||||||
hostnamePartPattern = new RegExp('^' + hostnamePatternString + '$'),
|
hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,
|
||||||
hostnamePartStart = new RegExp('^(' + hostnamePatternString + ')(.*)$'),
|
|
||||||
// protocols that can allow "unsafe" and "unwise" chars.
|
// protocols that can allow "unsafe" and "unwise" chars.
|
||||||
unsafeProtocol = {
|
unsafeProtocol = {
|
||||||
'javascript': true,
|
'javascript': true,
|
||||||
|
@ -857,6 +857,22 @@ var parseTests = {
|
|||||||
pathname: '%0D%0Ad/e',
|
pathname: '%0D%0Ad/e',
|
||||||
path: '%0D%0Ad/e?f',
|
path: '%0D%0Ad/e?f',
|
||||||
href: 'http://a%0D%22%20%09%0A%3C\'b:b@c/%0D%0Ad/e?f'
|
href: 'http://a%0D%22%20%09%0A%3C\'b:b@c/%0D%0Ad/e?f'
|
||||||
|
},
|
||||||
|
|
||||||
|
// git urls used by npm
|
||||||
|
'git+ssh://git@github.com:npm/npm': {
|
||||||
|
protocol: 'git+ssh:',
|
||||||
|
slashes: true,
|
||||||
|
auth: 'git',
|
||||||
|
host: 'github.com',
|
||||||
|
port: null,
|
||||||
|
hostname: 'github.com',
|
||||||
|
hash: null,
|
||||||
|
search: null,
|
||||||
|
query: null,
|
||||||
|
pathname: '/:npm/npm',
|
||||||
|
path: '/:npm/npm',
|
||||||
|
href: 'git+ssh://git@github.com/:npm/npm'
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user