mirror of
https://github.com/stylersnico/librenms.git
synced 2026-07-27 16:08:55 +02:00
Add lib/PhpAmqpLib
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
namespace PhpAmqpLib\Connection;
|
||||
|
||||
class AMQPSSLConnection extends AMQPStreamConnection
|
||||
{
|
||||
/**
|
||||
* @param AbstractConnection $host
|
||||
* @param int $port
|
||||
* @param string $user
|
||||
* @param bool $password
|
||||
* @param string $vhost
|
||||
* @param array $ssl_options
|
||||
* @param array $options
|
||||
*/
|
||||
public function __construct(
|
||||
$host,
|
||||
$port,
|
||||
$user,
|
||||
$password,
|
||||
$vhost = '/',
|
||||
$ssl_options = array(),
|
||||
$options = array()
|
||||
) {
|
||||
$ssl_context = empty($ssl_options) ? null : $this->create_ssl_context($ssl_options);
|
||||
parent::__construct(
|
||||
$host,
|
||||
$port,
|
||||
$user,
|
||||
$password,
|
||||
$vhost,
|
||||
isset($options['insist']) ? $options['insist'] : false,
|
||||
isset($options['login_method']) ? $options['login_method'] : 'AMQPLAIN',
|
||||
isset($options['login_response']) ? $options['login_response'] : null,
|
||||
isset($options['locale']) ? $options['locale'] : 'en_US',
|
||||
isset($options['connection_timeout']) ? $options['connection_timeout'] : 3,
|
||||
isset($options['read_write_timeout']) ? $options['read_write_timeout'] : 3,
|
||||
$ssl_context,
|
||||
isset($options['keepalive']) ? $options['keepalive'] : false,
|
||||
isset($options['heartbeat']) ? $options['heartbeat'] : 0
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $options
|
||||
* @return resource
|
||||
*/
|
||||
private function create_ssl_context($options)
|
||||
{
|
||||
$ssl_context = stream_context_create();
|
||||
foreach ($options as $k => $v) {
|
||||
stream_context_set_option($ssl_context, 'ssl', $k, $v);
|
||||
}
|
||||
|
||||
return $ssl_context;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user