private static function findHostnameAndPort(array $config): array
    {
        if ($config['host'] === null) {
            $config['host'] = '127.0.0.1';
            $config['port'] = self::findBestPort($config['host']);
        } elseif (isset($config['host'], $config['port']) && $config['port'] !== null && $config['host'] === '*') {
            $config['host'] = '0.0.0.0';
        } elseif ($config['port'] === null) {
            $config['port'] = self::findBestPort($config['host']);
        }

        if (! \ctype_digit((string) $config['port'])) {
            throw new InvalidArgumentException(\sprintf('Port [%s] is not valid.', (string) $config['port']));
        }

        $config['address'] = $config['host'] . ':' . $config['port'];

        return $config;
    }
private static function findHostnameAndPort(array $config): array
    {
        if ($config['host'] === null) {
            $config['host'] = '127.0.0.1';
            $config['port'] = self::findBestPort($config['host']);
        } elseif (isset($config['host'], $config['port']) && $config['port'] !== null && $config['host'] === '*') {
            $config['host'] = '0.0.0.0';
        } elseif ($config['port'] === null) {
            $config['port'] = self::findBestPort($config['host']);
        }

        if (! \ctype_digit((string) $config['port'])) {
            throw new InvalidArgumentException(\sprintf('Port [%s] is not valid.', (string) $config['port']));
        }

        $config['address'] = $config['host'] . ':' . $config['port'];

        return $config;
    }
private static function findHostnameAndPort ( array $ config ) : array { if ( $ config [ 'host' ] === null ) { $ config [ 'host' ] = '127.0.0.1' ; $ config [ 'port' ] = self :: findBestPort ( $ config [ 'host' ] ) ; } elseif ( isset ( $ config [ 'host' ] , $ config [ 'port' ] ) && $ config [ 'port' ] !== null && $ config [ 'host' ] === '*' ) { $ config [ 'host' ] = '0.0.0.0' ; } elseif ( $ config [ 'port' ] === null ) { $ config [ 'port' ] = self :: findBestPort ( $ config [ 'host' ] ) ; } if ( ! \ ctype_digit ( ( string ) $ config [ 'port' ] ) ) { throw new InvalidArgumentException ( \ sprintf ( 'Port [%s] is not valid.' , ( string ) $ config [ 'port' ] ) ) ; } $ config [ 'address' ] = $ config [ 'host' ] . ':' . $ config [ 'port' ] ; return $ config ; }
Finds a host and port.

@param array $config

@throws \Viserio\Component\Contract\WebServer\Exception\InvalidArgumentException

@return array
Finds a host and port .