Aerys\Vhost::normalizeTlsCryptoMethod PHP Method

normalizeTlsCryptoMethod() private method

private normalizeTlsCryptoMethod ( array $tls ) : array
$tls array
return array
    private function normalizeTlsCryptoMethod(array $tls) : array
    {
        $cryptoMethod = $tls['crypto_method'];
        if (is_string($cryptoMethod)) {
            $cryptoMethodArray = explode(' ', strtolower($cryptoMethod));
        } elseif (is_array($cryptoMethod)) {
            $cryptoMethodArray = array_map("strtolower", $cryptoMethod);
        } else {
            throw new \DomainException(sprintf('Invalid crypto method type: %s. String or array required', gettype($cryptoMethod)));
        }
        $bitmask = 0;
        foreach ($cryptoMethodArray as $method) {
            if (isset(self::$cryptoMethodMap[$method])) {
                $bitmask |= self::$cryptoMethodMap[$method];
            }
        }
        if (empty($bitmask)) {
            throw new \DomainException('Invalid crypto method value: no valid methods found');
        }
        $tls['crypto_method'] = $bitmask;
        return $tls;
    }