(options, req)
| 477 | } |
| 478 | |
| 479 | function calculateServerName(options, req) { |
| 480 | let servername = options.host; |
| 481 | const hostHeader = req.getHeader('host'); |
| 482 | if (hostHeader) { |
| 483 | validateString(hostHeader, 'options.headers.host'); |
| 484 | |
| 485 | // abc => abc |
| 486 | // abc:123 => abc |
| 487 | // [::1] => ::1 |
| 488 | // [::1]:123 => ::1 |
| 489 | if (hostHeader[0] === '[') { |
| 490 | const index = hostHeader.indexOf(']'); |
| 491 | if (index === -1) { |
| 492 | // Leading '[', but no ']'. Need to do something... |
| 493 | servername = hostHeader; |
| 494 | } else { |
| 495 | servername = hostHeader.substring(1, index); |
| 496 | } |
| 497 | } else { |
| 498 | servername = hostHeader.split(':', 1)[0]; |
| 499 | } |
| 500 | } |
| 501 | // Don't implicitly set invalid (IP) servernames. |
| 502 | if (net.isIP(servername)) |
| 503 | servername = ''; |
| 504 | return servername; |
| 505 | } |
| 506 | |
| 507 | function installListeners(agent, s, options) { |
| 508 | function onFree() { |
no test coverage detected
searching dependent graphs…