if (\
is_array($queueOptions['arguments'
] ?? false
)) { $queueOptions['arguments'
] = self::
normalizeQueueArguments($queueOptions['arguments'
]);
} return $queueOptions;
},
$queuesOptions);
if (!
$useAmqps) { unset($amqpOptions['cacert'
],
$amqpOptions['cert'
],
$amqpOptions['key'
],
$amqpOptions['verify'
]);
} if ($useAmqps && !self::
hasCaCertConfigured($amqpOptions)) { throw new InvalidArgumentException('No CA certificate has been provided. Set "amqp.cacert" in your php.ini or pass the "cacert" parameter in the DSN to use SSL. Alternatively, you can use amqp:// to use without SSL.'
);
} return new self($amqpOptions,
$exchangeOptions,
$queuesOptions,
$amqpFactory);
} private static function validateOptions(array
$options): void
{ if (0 < \
count($invalidOptions =
array_diff(array_keys($options), self::AVAILABLE_OPTIONS
))) { throw new LogicException(sprintf('Invalid option(s) "%s" passed to the AMQP Messenger transport.',
implode('", "',
$invalidOptions)));
}