File: //usr/local/lib/python3.9/site-packages/kombu/transport/__pycache__/pyamqp.cpython-39.pyc
a
X>hG � @ s� d Z ddlmZ ddlZddlmZ ddlmZ ddlm Z ddl m
Z
d Zd
ZG dd� de j
�Z
G d
d� deje j�ZG dd� dej�ZG dd� de j�ZG dd� de�ZdS )a� pyamqp transport module for Kombu.
Pure-Python amqp transport using py-amqp library.
Features
========
* Type: Native
* Supports Direct: Yes
* Supports Topic: Yes
* Supports Fanout: Yes
* Supports Priority: Yes
* Supports TTL: Yes
Connection String
=================
Connection string can have the following formats:
.. code-block::
amqp://[USER:PASSWORD@]BROKER_ADDRESS[:PORT][/VIRTUALHOST]
[USER:PASSWORD@]BROKER_ADDRESS[:PORT][/VIRTUALHOST]
amqp://
For TLS encryption use:
.. code-block::
amqps://[USER:PASSWORD@]BROKER_ADDRESS[:PORT][/VIRTUALHOST]
Transport Options
=================
Transport Options are passed to constructor of underlying py-amqp
:class:`~kombu.connection.Connection` class.
Using TLS
=========
Transport over TLS can be enabled by ``ssl`` parameter of
:class:`~kombu.Connection` class. By setting ``ssl=True``, TLS transport is
used::
conn = Connect('amqp://', ssl=True)
This is equivalent to ``amqps://`` transport URI::
conn = Connect('amqps://')
For adding additional parameters to underlying TLS, ``ssl`` parameter should
be set with dict instead of True::
conn = Connect('amqp://broker.example.com', ssl={
'keyfile': '/path/to/keyfile'
'certfile': '/path/to/certfile',
'ca_certs': '/path/to/ca_certfile'
}
)
All parameters are passed to ``ssl`` parameter of
:class:`amqp.connection.Connection` class.
SSL option ``server_hostname`` can be set to ``None`` which is causing using
hostname from broker URL. This is useful when failover is used to fill
``server_hostname`` with currently used broker::
conn = Connect('amqp://broker1.example.com;broker2.example.com', ssl={
'server_hostname': None
}
)
� )�annotationsN)�get_manager)�version_string_as_tuple� )�base��to_rabbitmq_queue_argumentsi( i' c s"