zhangnaisong
2023-08-05 24d66c8d82b628a06e93dbb1abfea2049b3d45ab
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
"use strict";
 
function parsePort(urlObj, options)
{
    var defaultPort = -1;
    
    for (var i in options.defaultPorts)
    {
        if ( i===urlObj.scheme && options.defaultPorts.hasOwnProperty(i) )
        {
            defaultPort = options.defaultPorts[i];
            break;
        }
    }
    
    if (defaultPort > -1)
    {
        // Force same type as urlObj.port
        defaultPort = defaultPort.toString();
        
        if (urlObj.port === null)
        {
            urlObj.port = defaultPort;
        }
        
        urlObj.extra.portIsDefault = (urlObj.port === defaultPort);
    }
}
 
 
 
module.exports = parsePort;