You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
753 B
38 lines
753 B
'use strict'; |
|
|
|
/** |
|
* Check if we're required to add a port number. |
|
* |
|
* @see https://url.spec.whatwg.org/#default-port |
|
* @param {Number|String} port Port number we need to check |
|
* @param {String} protocol Protocol we need to check against. |
|
* @returns {Boolean} Is it a default port for the given protocol |
|
* @api private |
|
*/ |
|
module.exports = function required(port, protocol) { |
|
protocol = protocol.split(':')[0]; |
|
port = +port; |
|
|
|
if (!port) return false; |
|
|
|
switch (protocol) { |
|
case 'http': |
|
case 'ws': |
|
return port !== 80; |
|
|
|
case 'https': |
|
case 'wss': |
|
return port !== 443; |
|
|
|
case 'ftp': |
|
return port !== 21; |
|
|
|
case 'gopher': |
|
return port !== 70; |
|
|
|
case 'file': |
|
return false; |
|
} |
|
|
|
return port !== 0; |
|
};
|
|
|