polish docs
This commit is contained in:
parent
eb22576bb2
commit
b6e0342a30
@ -197,6 +197,8 @@ class WebSocketAdapterProtocol(asyncio.Protocol):
|
|||||||
class WebSocketServerProtocol(WebSocketAdapterProtocol, protocol.WebSocketServerProtocol):
|
class WebSocketServerProtocol(WebSocketAdapterProtocol, protocol.WebSocketServerProtocol):
|
||||||
"""
|
"""
|
||||||
Base class for asyncio-based WebSocket server protocols.
|
Base class for asyncio-based WebSocket server protocols.
|
||||||
|
|
||||||
|
Implements :class:`autobahn.websocket.interfaces.IWebSocketChannel`.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
log = txaio.make_logger()
|
log = txaio.make_logger()
|
||||||
@ -206,6 +208,8 @@ class WebSocketServerProtocol(WebSocketAdapterProtocol, protocol.WebSocketServer
|
|||||||
class WebSocketClientProtocol(WebSocketAdapterProtocol, protocol.WebSocketClientProtocol):
|
class WebSocketClientProtocol(WebSocketAdapterProtocol, protocol.WebSocketClientProtocol):
|
||||||
"""
|
"""
|
||||||
Base class for asyncio-based WebSocket client protocols.
|
Base class for asyncio-based WebSocket client protocols.
|
||||||
|
|
||||||
|
Implements :class:`autobahn.websocket.interfaces.IWebSocketChannel`.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
log = txaio.make_logger()
|
log = txaio.make_logger()
|
||||||
@ -235,14 +239,17 @@ class WebSocketAdapterFactory(object):
|
|||||||
class WebSocketServerFactory(WebSocketAdapterFactory, protocol.WebSocketServerFactory):
|
class WebSocketServerFactory(WebSocketAdapterFactory, protocol.WebSocketServerFactory):
|
||||||
"""
|
"""
|
||||||
Base class for asyncio-based WebSocket server factories.
|
Base class for asyncio-based WebSocket server factories.
|
||||||
|
|
||||||
|
Implements :class:`autobahn.websocket.interfaces.IWebSocketServerChannelFactory`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
protocol = WebSocketServerProtocol
|
protocol = WebSocketServerProtocol
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
"""
|
"""
|
||||||
|
.. note::
|
||||||
In addition to all arguments to the constructor of
|
In addition to all arguments to the constructor of
|
||||||
:class:`autobahn.websocket.protocol.WebSocketServerFactory`,
|
:meth:`autobahn.websocket.interfaces.IWebSocketServerChannelFactory`,
|
||||||
you can supply a ``loop`` keyword argument to specify the
|
you can supply a ``loop`` keyword argument to specify the
|
||||||
asyncio event loop to be used.
|
asyncio event loop to be used.
|
||||||
"""
|
"""
|
||||||
@ -255,13 +262,17 @@ class WebSocketServerFactory(WebSocketAdapterFactory, protocol.WebSocketServerFa
|
|||||||
@public
|
@public
|
||||||
class WebSocketClientFactory(WebSocketAdapterFactory, protocol.WebSocketClientFactory):
|
class WebSocketClientFactory(WebSocketAdapterFactory, protocol.WebSocketClientFactory):
|
||||||
"""
|
"""
|
||||||
Base class for asyncio-baseed WebSocket client factories.
|
Base class for asyncio-based WebSocket client factories.
|
||||||
|
|
||||||
|
Implements :class:`autobahn.websocket.interfaces.IWebSocketClientChannelFactory`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
.. note::
|
||||||
In addition to all arguments to the constructor of
|
In addition to all arguments to the constructor of
|
||||||
:class:`autobahn.websocket.protocol.WebSocketClientFactory`,
|
:meth:`autobahn.websocket.interfaces.IWebSocketClientChannelFactory`,
|
||||||
you can supply a ``loop`` keyword argument to specify the
|
you can supply a ``loop`` keyword argument to specify the
|
||||||
asyncio event loop to be used.
|
asyncio event loop to be used.
|
||||||
"""
|
"""
|
||||||
|
@ -172,6 +172,7 @@ class WampRawSocketProtocol(Int32StringReceiver):
|
|||||||
raise TransportLost()
|
raise TransportLost()
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
class WampRawSocketServerProtocol(WampRawSocketProtocol):
|
class WampRawSocketServerProtocol(WampRawSocketProtocol):
|
||||||
"""
|
"""
|
||||||
Base class for Twisted-based WAMP-over-RawSocket server protocols.
|
Base class for Twisted-based WAMP-over-RawSocket server protocols.
|
||||||
@ -350,6 +351,7 @@ class WampRawSocketFactory(Factory):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
class WampRawSocketServerFactory(WampRawSocketFactory):
|
class WampRawSocketServerFactory(WampRawSocketFactory):
|
||||||
"""
|
"""
|
||||||
Base class for Twisted-based WAMP-over-RawSocket server factories.
|
Base class for Twisted-based WAMP-over-RawSocket server factories.
|
||||||
@ -415,6 +417,7 @@ class WampRawSocketServerFactory(WampRawSocketFactory):
|
|||||||
self._serializers[ser.RAWSOCKET_SERIALIZER_ID] = ser
|
self._serializers[ser.RAWSOCKET_SERIALIZER_ID] = ser
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
class WampRawSocketClientFactory(WampRawSocketFactory):
|
class WampRawSocketClientFactory(WampRawSocketFactory):
|
||||||
"""
|
"""
|
||||||
Base class for Twisted-based WAMP-over-RawSocket client factories.
|
Base class for Twisted-based WAMP-over-RawSocket client factories.
|
||||||
|
@ -38,6 +38,7 @@ from twisted.internet.interfaces import ITransport
|
|||||||
from twisted.internet.error import ConnectionDone, ConnectionAborted, \
|
from twisted.internet.error import ConnectionDone, ConnectionAborted, \
|
||||||
ConnectionLost
|
ConnectionLost
|
||||||
|
|
||||||
|
from autobahn.util import public
|
||||||
from autobahn.wamp import websocket
|
from autobahn.wamp import websocket
|
||||||
from autobahn.websocket.types import ConnectionRequest, ConnectionResponse, ConnectionDeny
|
from autobahn.websocket.types import ConnectionRequest, ConnectionResponse, ConnectionDeny
|
||||||
from autobahn.websocket import protocol
|
from autobahn.websocket import protocol
|
||||||
@ -181,9 +182,12 @@ class WebSocketAdapterProtocol(twisted.internet.protocol.Protocol):
|
|||||||
self.transport.registerProducer(producer, streaming)
|
self.transport.registerProducer(producer, streaming)
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
class WebSocketServerProtocol(WebSocketAdapterProtocol, protocol.WebSocketServerProtocol):
|
class WebSocketServerProtocol(WebSocketAdapterProtocol, protocol.WebSocketServerProtocol):
|
||||||
"""
|
"""
|
||||||
Base class for Twisted-based WebSocket server protocols.
|
Base class for Twisted-based WebSocket server protocols.
|
||||||
|
|
||||||
|
Implements :class:`autobahn.websocket.interfaces.IWebSocketChannel`.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
log = txaio.make_logger()
|
log = txaio.make_logger()
|
||||||
@ -195,9 +199,12 @@ class WebSocketServerProtocol(WebSocketAdapterProtocol, protocol.WebSocketServer
|
|||||||
return transport_channel_id(self.transport, is_server=True, channel_id_type=channel_id_type)
|
return transport_channel_id(self.transport, is_server=True, channel_id_type=channel_id_type)
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
class WebSocketClientProtocol(WebSocketAdapterProtocol, protocol.WebSocketClientProtocol):
|
class WebSocketClientProtocol(WebSocketAdapterProtocol, protocol.WebSocketClientProtocol):
|
||||||
"""
|
"""
|
||||||
Base class for Twisted-based WebSocket client protocols.
|
Base class for Twisted-based WebSocket client protocols.
|
||||||
|
|
||||||
|
Implements :class:`autobahn.websocket.interfaces.IWebSocketChannel`.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
log = txaio.make_logger()
|
log = txaio.make_logger()
|
||||||
@ -222,16 +229,21 @@ class WebSocketAdapterFactory(object):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
class WebSocketServerFactory(WebSocketAdapterFactory, protocol.WebSocketServerFactory, twisted.internet.protocol.ServerFactory):
|
class WebSocketServerFactory(WebSocketAdapterFactory, protocol.WebSocketServerFactory, twisted.internet.protocol.ServerFactory):
|
||||||
"""
|
"""
|
||||||
Base class for Twisted-based WebSocket server factories.
|
Base class for Twisted-based WebSocket server factories.
|
||||||
|
|
||||||
|
Implements :class:`autobahn.websocket.interfaces.IWebSocketServerChannelFactory`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
.. note::
|
||||||
In addition to all arguments to the constructor of
|
In addition to all arguments to the constructor of
|
||||||
:class:`autobahn.websocket.protocol.WebSocketServerFactory`,
|
:meth:`autobahn.websocket.interfaces.IWebSocketServerChannelFactory`,
|
||||||
you can supply a `reactor` keyword argument to specify the
|
you can supply a ``reactor`` keyword argument to specify the
|
||||||
Twisted reactor to be used.
|
Twisted reactor to be used.
|
||||||
"""
|
"""
|
||||||
# lazy import to avoid reactor install upon module import
|
# lazy import to avoid reactor install upon module import
|
||||||
@ -243,16 +255,21 @@ class WebSocketServerFactory(WebSocketAdapterFactory, protocol.WebSocketServerFa
|
|||||||
protocol.WebSocketServerFactory.__init__(self, *args, **kwargs)
|
protocol.WebSocketServerFactory.__init__(self, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
class WebSocketClientFactory(WebSocketAdapterFactory, protocol.WebSocketClientFactory, twisted.internet.protocol.ClientFactory):
|
class WebSocketClientFactory(WebSocketAdapterFactory, protocol.WebSocketClientFactory, twisted.internet.protocol.ClientFactory):
|
||||||
"""
|
"""
|
||||||
Base class for Twisted-based WebSocket client factories.
|
Base class for Twisted-based WebSocket client factories.
|
||||||
|
|
||||||
|
Implements :class:`autobahn.websocket.interfaces.IWebSocketClientChannelFactory`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
.. note::
|
||||||
In addition to all arguments to the constructor of
|
In addition to all arguments to the constructor of
|
||||||
:class:`autobahn.websocket.protocol.WebSocketClientFactory`,
|
:func:`autobahn.websocket.interfaces.IWebSocketClientChannelFactory`,
|
||||||
you can supply a `reactor` keyword argument to specify the
|
you can supply a ``reactor`` keyword argument to specify the
|
||||||
Twisted reactor to be used.
|
Twisted reactor to be used.
|
||||||
"""
|
"""
|
||||||
# lazy import to avoid reactor install upon module import
|
# lazy import to avoid reactor install upon module import
|
||||||
@ -481,6 +498,7 @@ class WrappingWebSocketClientFactory(WebSocketClientFactory):
|
|||||||
return proto
|
return proto
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
def connectWS(factory, contextFactory=None, timeout=30, bindAddress=None):
|
def connectWS(factory, contextFactory=None, timeout=30, bindAddress=None):
|
||||||
"""
|
"""
|
||||||
Establish WebSocket connection to a server. The connection parameters like target
|
Establish WebSocket connection to a server. The connection parameters like target
|
||||||
@ -521,6 +539,7 @@ def connectWS(factory, contextFactory=None, timeout=30, bindAddress=None):
|
|||||||
return conn
|
return conn
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
def listenWS(factory, contextFactory=None, backlog=50, interface=''):
|
def listenWS(factory, contextFactory=None, backlog=50, interface=''):
|
||||||
"""
|
"""
|
||||||
Listen for incoming WebSocket connections from clients. The connection parameters like
|
Listen for incoming WebSocket connections from clients. The connection parameters like
|
||||||
@ -553,12 +572,14 @@ def listenWS(factory, contextFactory=None, backlog=50, interface=''):
|
|||||||
return listener
|
return listener
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
class WampWebSocketServerProtocol(websocket.WampWebSocketServerProtocol, WebSocketServerProtocol):
|
class WampWebSocketServerProtocol(websocket.WampWebSocketServerProtocol, WebSocketServerProtocol):
|
||||||
"""
|
"""
|
||||||
Base class for Twisted-based WAMP-over-WebSocket server protocols.
|
Base class for Twisted-based WAMP-over-WebSocket server protocols.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
class WampWebSocketServerFactory(websocket.WampWebSocketServerFactory, WebSocketServerFactory):
|
class WampWebSocketServerFactory(websocket.WampWebSocketServerFactory, WebSocketServerFactory):
|
||||||
"""
|
"""
|
||||||
Base class for Twisted-based WAMP-over-WebSocket server factories.
|
Base class for Twisted-based WAMP-over-WebSocket server factories.
|
||||||
@ -578,12 +599,14 @@ class WampWebSocketServerFactory(websocket.WampWebSocketServerFactory, WebSocket
|
|||||||
WebSocketServerFactory.__init__(self, *args, **kwargs)
|
WebSocketServerFactory.__init__(self, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
class WampWebSocketClientProtocol(websocket.WampWebSocketClientProtocol, WebSocketClientProtocol):
|
class WampWebSocketClientProtocol(websocket.WampWebSocketClientProtocol, WebSocketClientProtocol):
|
||||||
"""
|
"""
|
||||||
Base class for Twisted-based WAMP-over-WebSocket client protocols.
|
Base class for Twisted-based WAMP-over-WebSocket client protocols.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
class WampWebSocketClientFactory(websocket.WampWebSocketClientFactory, WebSocketClientFactory):
|
class WampWebSocketClientFactory(websocket.WampWebSocketClientFactory, WebSocketClientFactory):
|
||||||
"""
|
"""
|
||||||
Base class for Twisted-based WAMP-over-WebSocket client factories.
|
Base class for Twisted-based WAMP-over-WebSocket client factories.
|
||||||
|
@ -29,11 +29,352 @@ import six
|
|||||||
|
|
||||||
from autobahn.util import public
|
from autobahn.util import public
|
||||||
|
|
||||||
__all__ = ('IWebSocketChannel',
|
__all__ = ('IWebSocketServerChannelFactory',
|
||||||
|
'IWebSocketClientChannelFactory',
|
||||||
|
'IWebSocketChannel',
|
||||||
'IWebSocketChannelFrameApi',
|
'IWebSocketChannelFrameApi',
|
||||||
'IWebSocketChannelStreamingApi')
|
'IWebSocketChannelStreamingApi')
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
|
@six.add_metaclass(abc.ABCMeta)
|
||||||
|
class IWebSocketServerChannelFactory(object):
|
||||||
|
"""
|
||||||
|
WebSocket server protocol factories implement this interface, and create
|
||||||
|
protocol instances which in turn implement
|
||||||
|
:class:`autobahn.websocket.interfaces.IWebSocketChannel`.
|
||||||
|
"""
|
||||||
|
|
||||||
|
@abc.abstractmethod
|
||||||
|
def __init__(url=None,
|
||||||
|
protocols=None,
|
||||||
|
server=None,
|
||||||
|
headers=None,
|
||||||
|
externalPort=None):
|
||||||
|
"""
|
||||||
|
|
||||||
|
:param url: The WebSocket URL this factory is working for, e.g. ``ws://myhost.com/somepath``.
|
||||||
|
For non-TCP transports like pipes or Unix domain sockets, provide ``None``.
|
||||||
|
This will use an implicit URL of ``ws://localhost``.
|
||||||
|
:type url: str
|
||||||
|
|
||||||
|
:param protocols: List of subprotocols the server supports. The subprotocol used is the first from the list of subprotocols announced by the client that is contained in this list.
|
||||||
|
:type protocols: list of str
|
||||||
|
|
||||||
|
:param server: Server as announced in HTTP response header during opening handshake.
|
||||||
|
:type server: str
|
||||||
|
|
||||||
|
:param headers: An optional mapping of additional HTTP headers to send during the WebSocket opening handshake.
|
||||||
|
:type headers: dict
|
||||||
|
|
||||||
|
:param externalPort: Optionally, the external visible port this server will be reachable under (i.e. when running behind a L2/L3 forwarding device).
|
||||||
|
:type externalPort: int
|
||||||
|
"""
|
||||||
|
|
||||||
|
@public
|
||||||
|
@abc.abstractmethod
|
||||||
|
def setSessionParameters(url=None,
|
||||||
|
protocols=None,
|
||||||
|
server=None,
|
||||||
|
headers=None,
|
||||||
|
externalPort=None):
|
||||||
|
"""
|
||||||
|
Set WebSocket session parameters.
|
||||||
|
|
||||||
|
:param url: The WebSocket URL this factory is working for, e.g. ``ws://myhost.com/somepath``.
|
||||||
|
For non-TCP transports like pipes or Unix domain sockets, provide ``None``.
|
||||||
|
This will use an implicit URL of ``ws://localhost``.
|
||||||
|
:type url: str
|
||||||
|
|
||||||
|
:param protocols: List of subprotocols the server supports. The subprotocol used is the first from the list of subprotocols announced by the client that is contained in this list.
|
||||||
|
:type protocols: list of str
|
||||||
|
|
||||||
|
:param server: Server as announced in HTTP response header during opening handshake.
|
||||||
|
:type server: str
|
||||||
|
|
||||||
|
:param headers: An optional mapping of additional HTTP headers to send during the WebSocket opening handshake.
|
||||||
|
:type headers: dict
|
||||||
|
|
||||||
|
:param externalPort: Optionally, the external visible port this server will be reachable under (i.e. when running behind a L2/L3 forwarding device).
|
||||||
|
:type externalPort: int
|
||||||
|
"""
|
||||||
|
|
||||||
|
@public
|
||||||
|
@abc.abstractmethod
|
||||||
|
def setProtocolOptions(versions=None,
|
||||||
|
webStatus=None,
|
||||||
|
utf8validateIncoming=None,
|
||||||
|
maskServerFrames=None,
|
||||||
|
requireMaskedClientFrames=None,
|
||||||
|
applyMask=None,
|
||||||
|
maxFramePayloadSize=None,
|
||||||
|
maxMessagePayloadSize=None,
|
||||||
|
autoFragmentSize=None,
|
||||||
|
failByDrop=None,
|
||||||
|
echoCloseCodeReason=None,
|
||||||
|
openHandshakeTimeout=None,
|
||||||
|
closeHandshakeTimeout=None,
|
||||||
|
tcpNoDelay=None,
|
||||||
|
perMessageCompressionAccept=None,
|
||||||
|
autoPingInterval=None,
|
||||||
|
autoPingTimeout=None,
|
||||||
|
autoPingSize=None,
|
||||||
|
serveFlashSocketPolicy=None,
|
||||||
|
flashSocketPolicy=None,
|
||||||
|
allowedOrigins=None,
|
||||||
|
allowNullOrigin=False,
|
||||||
|
maxConnections=None):
|
||||||
|
"""
|
||||||
|
Set WebSocket protocol options used as defaults for new protocol instances.
|
||||||
|
|
||||||
|
:param versions: The WebSocket protocol versions accepted by the server (default: :func:`autobahn.websocket.protocol.WebSocketProtocol.SUPPORTED_PROTOCOL_VERSIONS`).
|
||||||
|
:type versions: list of ints or None
|
||||||
|
|
||||||
|
:param webStatus: Return server status/version on HTTP/GET without WebSocket upgrade header (default: `True`).
|
||||||
|
:type webStatus: bool or None
|
||||||
|
|
||||||
|
:param utf8validateIncoming: Validate incoming UTF-8 in text message payloads (default: `True`).
|
||||||
|
:type utf8validateIncoming: bool or None
|
||||||
|
|
||||||
|
:param maskServerFrames: Mask server-to-client frames (default: `False`).
|
||||||
|
:type maskServerFrames: bool or None
|
||||||
|
|
||||||
|
:param requireMaskedClientFrames: Require client-to-server frames to be masked (default: `True`).
|
||||||
|
:type requireMaskedClientFrames: bool or None
|
||||||
|
|
||||||
|
:param applyMask: Actually apply mask to payload when mask it present. Applies for outgoing and incoming frames (default: `True`).
|
||||||
|
:type applyMask: bool or None
|
||||||
|
|
||||||
|
:param maxFramePayloadSize: Maximum frame payload size that will be accepted when receiving or `0` for unlimited (default: `0`).
|
||||||
|
:type maxFramePayloadSize: int or None
|
||||||
|
|
||||||
|
:param maxMessagePayloadSize: Maximum message payload size (after reassembly of fragmented messages) that will be accepted when receiving or `0` for unlimited (default: `0`).
|
||||||
|
:type maxMessagePayloadSize: int or None
|
||||||
|
|
||||||
|
:param autoFragmentSize: Automatic fragmentation of outgoing data messages (when using the message-based API) into frames with payload length `<=` this size or `0` for no auto-fragmentation (default: `0`).
|
||||||
|
:type autoFragmentSize: int or None
|
||||||
|
|
||||||
|
:param failByDrop: Fail connections by dropping the TCP connection without performing closing handshake (default: `True`).
|
||||||
|
:type failbyDrop: bool or None
|
||||||
|
|
||||||
|
:param echoCloseCodeReason: Iff true, when receiving a close, echo back close code/reason. Otherwise reply with `code == 1000, reason = ""` (default: `False`).
|
||||||
|
:type echoCloseCodeReason: bool or None
|
||||||
|
|
||||||
|
:param openHandshakeTimeout: Opening WebSocket handshake timeout, timeout in seconds or `0` to deactivate (default: `0`).
|
||||||
|
:type openHandshakeTimeout: float or None
|
||||||
|
|
||||||
|
:param closeHandshakeTimeout: When we expect to receive a closing handshake reply, timeout in seconds (default: `1`).
|
||||||
|
:type closeHandshakeTimeout: float or None
|
||||||
|
|
||||||
|
:param tcpNoDelay: TCP NODELAY ("Nagle") socket option (default: `True`).
|
||||||
|
:type tcpNoDelay: bool or None
|
||||||
|
|
||||||
|
:param perMessageCompressionAccept: Acceptor function for offers.
|
||||||
|
:type perMessageCompressionAccept: callable or None
|
||||||
|
|
||||||
|
:param autoPingInterval: Automatically send WebSocket pings every given seconds. When the peer does not respond
|
||||||
|
in `autoPingTimeout`, drop the connection. Set to `0` to disable. (default: `0`).
|
||||||
|
:type autoPingInterval: float or None
|
||||||
|
|
||||||
|
:param autoPingTimeout: Wait this many seconds for the peer to respond to automatically sent pings. If the
|
||||||
|
peer does not respond in time, drop the connection. Set to `0` to disable. (default: `0`).
|
||||||
|
:type autoPingTimeout: float or None
|
||||||
|
|
||||||
|
:param autoPingSize: Payload size for automatic pings/pongs. Must be an integer from `[4, 125]`. (default: `4`).
|
||||||
|
:type autoPingSize: int or None
|
||||||
|
|
||||||
|
:param serveFlashSocketPolicy: Serve the Flash Socket Policy when we receive a policy file request on this protocol. (default: `False`).
|
||||||
|
:type serveFlashSocketPolicy: bool or None
|
||||||
|
|
||||||
|
:param flashSocketPolicy: The flash socket policy to be served when we are serving the Flash Socket Policy on this protocol
|
||||||
|
and when Flash tried to connect to the destination port. It must end with a null character.
|
||||||
|
:type flashSocketPolicy: str or None
|
||||||
|
|
||||||
|
:param allowedOrigins: A list of allowed WebSocket origins (with '*' as a wildcard character).
|
||||||
|
:type allowedOrigins: list or None
|
||||||
|
|
||||||
|
:param allowNullOrigin: if True, allow WebSocket connections whose `Origin:` is `"null"`.
|
||||||
|
:type allowNullOrigin: bool
|
||||||
|
|
||||||
|
:param maxConnections: Maximum number of concurrent connections. Set to `0` to disable (default: `0`).
|
||||||
|
:type maxConnections: int or None
|
||||||
|
"""
|
||||||
|
|
||||||
|
@public
|
||||||
|
@abc.abstractmethod
|
||||||
|
def resetProtocolOptions(self):
|
||||||
|
"""
|
||||||
|
Reset all WebSocket protocol options to defaults.
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
|
@six.add_metaclass(abc.ABCMeta)
|
||||||
|
class IWebSocketClientChannelFactory(object):
|
||||||
|
"""
|
||||||
|
WebSocket client protocol factories implement this interface, and create
|
||||||
|
protocol instances which in turn implement
|
||||||
|
:class:`autobahn.websocket.interfaces.IWebSocketChannel`.
|
||||||
|
"""
|
||||||
|
|
||||||
|
@abc.abstractmethod
|
||||||
|
def __init__(url=None,
|
||||||
|
origin=None,
|
||||||
|
protocols=None,
|
||||||
|
useragent=None,
|
||||||
|
headers=None,
|
||||||
|
proxy=None):
|
||||||
|
"""
|
||||||
|
|
||||||
|
Note that you MUST provide URL either here or set using
|
||||||
|
:meth:`autobahn.websocket.WebSocketClientFactory.setSessionParameters`
|
||||||
|
*before* the factory is started.
|
||||||
|
|
||||||
|
:param url: WebSocket URL this factory will connect to, e.g. ``ws://myhost.com/somepath?param1=23``.
|
||||||
|
For non-TCP transports like pipes or Unix domain sockets, provide ``None``.
|
||||||
|
This will use an implicit URL of ``ws://localhost``.
|
||||||
|
:type url: str
|
||||||
|
|
||||||
|
:param origin: The origin to be sent in WebSocket opening handshake or None (default: `None`).
|
||||||
|
:type origin: str
|
||||||
|
|
||||||
|
:param protocols: List of subprotocols the client should announce in WebSocket opening handshake (default: `[]`).
|
||||||
|
:type protocols: list of strings
|
||||||
|
|
||||||
|
:param useragent: User agent as announced in HTTP request header or None (default: `AutobahnWebSocket/?.?.?`).
|
||||||
|
:type useragent: str
|
||||||
|
|
||||||
|
:param headers: An optional mapping of additional HTTP headers to send during the WebSocket opening handshake.
|
||||||
|
:type headers: dict
|
||||||
|
|
||||||
|
:param proxy: Explicit proxy server to use; a dict with ``host`` and ``port`` keys
|
||||||
|
:type proxy: dict or None
|
||||||
|
"""
|
||||||
|
|
||||||
|
@public
|
||||||
|
@abc.abstractmethod
|
||||||
|
def setSessionParameters(url=None,
|
||||||
|
origin=None,
|
||||||
|
protocols=None,
|
||||||
|
useragent=None,
|
||||||
|
headers=None,
|
||||||
|
proxy=None):
|
||||||
|
"""
|
||||||
|
Set WebSocket session parameters.
|
||||||
|
|
||||||
|
:param url: WebSocket URL this factory will connect to, e.g. `ws://myhost.com/somepath?param1=23`.
|
||||||
|
For non-TCP transports like pipes or Unix domain sockets, provide `None`.
|
||||||
|
This will use an implicit URL of `ws://localhost`.
|
||||||
|
:type url: str
|
||||||
|
|
||||||
|
:param origin: The origin to be sent in opening handshake.
|
||||||
|
:type origin: str
|
||||||
|
|
||||||
|
:param protocols: List of WebSocket subprotocols the client should announce in opening handshake.
|
||||||
|
:type protocols: list of strings
|
||||||
|
|
||||||
|
:param useragent: User agent as announced in HTTP request header during opening handshake.
|
||||||
|
:type useragent: str
|
||||||
|
|
||||||
|
:param headers: An optional mapping of additional HTTP headers to send during the WebSocket opening handshake.
|
||||||
|
:type headers: dict
|
||||||
|
|
||||||
|
:param proxy: (Optional) a dict with ``host`` and ``port`` keys specifying a proxy to use
|
||||||
|
:type proxy: dict or None
|
||||||
|
"""
|
||||||
|
|
||||||
|
@public
|
||||||
|
@abc.abstractmethod
|
||||||
|
def setProtocolOptions(version=None,
|
||||||
|
utf8validateIncoming=None,
|
||||||
|
acceptMaskedServerFrames=None,
|
||||||
|
maskClientFrames=None,
|
||||||
|
applyMask=None,
|
||||||
|
maxFramePayloadSize=None,
|
||||||
|
maxMessagePayloadSize=None,
|
||||||
|
autoFragmentSize=None,
|
||||||
|
failByDrop=None,
|
||||||
|
echoCloseCodeReason=None,
|
||||||
|
serverConnectionDropTimeout=None,
|
||||||
|
openHandshakeTimeout=None,
|
||||||
|
closeHandshakeTimeout=None,
|
||||||
|
tcpNoDelay=None,
|
||||||
|
perMessageCompressionOffers=None,
|
||||||
|
perMessageCompressionAccept=None,
|
||||||
|
autoPingInterval=None,
|
||||||
|
autoPingTimeout=None,
|
||||||
|
autoPingSize=None):
|
||||||
|
"""
|
||||||
|
Set WebSocket protocol options used as defaults for _new_ protocol instances.
|
||||||
|
|
||||||
|
:param version: The WebSocket protocol spec (draft) version to be used (default: :func:`autobahn.websocket.protocol.WebSocketProtocol.SUPPORTED_PROTOCOL_VERSIONS`).
|
||||||
|
:type version: int
|
||||||
|
|
||||||
|
:param utf8validateIncoming: Validate incoming UTF-8 in text message payloads (default: `True`).
|
||||||
|
:type utf8validateIncoming: bool
|
||||||
|
|
||||||
|
:param acceptMaskedServerFrames: Accept masked server-to-client frames (default: `False`).
|
||||||
|
:type acceptMaskedServerFrames: bool
|
||||||
|
|
||||||
|
:param maskClientFrames: Mask client-to-server frames (default: `True`).
|
||||||
|
:type maskClientFrames: bool
|
||||||
|
|
||||||
|
:param applyMask: Actually apply mask to payload when mask it present. Applies for outgoing and incoming frames (default: `True`).
|
||||||
|
:type applyMask: bool
|
||||||
|
|
||||||
|
:param maxFramePayloadSize: Maximum frame payload size that will be accepted when receiving or `0` for unlimited (default: `0`).
|
||||||
|
:type maxFramePayloadSize: int
|
||||||
|
|
||||||
|
:param maxMessagePayloadSize: Maximum message payload size (after reassembly of fragmented messages) that will be accepted when receiving or `0` for unlimited (default: `0`).
|
||||||
|
:type maxMessagePayloadSize: int
|
||||||
|
|
||||||
|
:param autoFragmentSize: Automatic fragmentation of outgoing data messages (when using the message-based API) into frames with payload length `<=` this size or `0` for no auto-fragmentation (default: `0`).
|
||||||
|
:type autoFragmentSize: int
|
||||||
|
|
||||||
|
:param failByDrop: Fail connections by dropping the TCP connection without performing closing handshake (default: `True`).
|
||||||
|
:type failbyDrop: bool
|
||||||
|
|
||||||
|
:param echoCloseCodeReason: Iff true, when receiving a close, echo back close code/reason. Otherwise reply with `code == 1000, reason = ""` (default: `False`).
|
||||||
|
:type echoCloseCodeReason: bool
|
||||||
|
|
||||||
|
:param serverConnectionDropTimeout: When the client expects the server to drop the TCP, timeout in seconds (default: `1`).
|
||||||
|
:type serverConnectionDropTimeout: float
|
||||||
|
|
||||||
|
:param openHandshakeTimeout: Opening WebSocket handshake timeout, timeout in seconds or `0` to deactivate (default: `0`).
|
||||||
|
:type openHandshakeTimeout: float
|
||||||
|
|
||||||
|
:param closeHandshakeTimeout: When we expect to receive a closing handshake reply, timeout in seconds (default: `1`).
|
||||||
|
:type closeHandshakeTimeout: float
|
||||||
|
|
||||||
|
:param tcpNoDelay: TCP NODELAY ("Nagle"): bool socket option (default: `True`).
|
||||||
|
:type tcpNoDelay: bool
|
||||||
|
|
||||||
|
:param perMessageCompressionOffers: A list of offers to provide to the server for the permessage-compress WebSocket extension. Must be a list of instances of subclass of PerMessageCompressOffer.
|
||||||
|
:type perMessageCompressionOffers: list of instance of subclass of PerMessageCompressOffer
|
||||||
|
|
||||||
|
:param perMessageCompressionAccept: Acceptor function for responses.
|
||||||
|
:type perMessageCompressionAccept: callable
|
||||||
|
|
||||||
|
:param autoPingInterval: Automatically send WebSocket pings every given seconds. When the peer does not respond
|
||||||
|
in `autoPingTimeout`, drop the connection. Set to `0` to disable. (default: `0`).
|
||||||
|
:type autoPingInterval: float or None
|
||||||
|
|
||||||
|
:param autoPingTimeout: Wait this many seconds for the peer to respond to automatically sent pings. If the
|
||||||
|
peer does not respond in time, drop the connection. Set to `0` to disable. (default: `0`).
|
||||||
|
:type autoPingTimeout: float or None
|
||||||
|
|
||||||
|
:param autoPingSize: Payload size for automatic pings/pongs. Must be an integer from `[4, 125]`. (default: `4`).
|
||||||
|
:type autoPingSize: int
|
||||||
|
"""
|
||||||
|
|
||||||
|
@public
|
||||||
|
@abc.abstractmethod
|
||||||
|
def resetProtocolOptions(self):
|
||||||
|
"""
|
||||||
|
Reset all WebSocket protocol options to defaults.
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
@public
|
@public
|
||||||
@six.add_metaclass(abc.ABCMeta)
|
@six.add_metaclass(abc.ABCMeta)
|
||||||
class IWebSocketChannel(object):
|
class IWebSocketChannel(object):
|
||||||
@ -47,7 +388,7 @@ class IWebSocketChannel(object):
|
|||||||
|
|
||||||
@public
|
@public
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def on_connect(self, request_or_response):
|
def onConnect(self, request_or_response):
|
||||||
"""
|
"""
|
||||||
Callback fired during WebSocket opening handshake when a client connects (to a server with
|
Callback fired during WebSocket opening handshake when a client connects (to a server with
|
||||||
request from client) or when server connection established (by a client with response from
|
request from client) or when server connection established (by a client with response from
|
||||||
@ -68,7 +409,7 @@ class IWebSocketChannel(object):
|
|||||||
|
|
||||||
@public
|
@public
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def on_open(self):
|
def onOpen(self):
|
||||||
"""
|
"""
|
||||||
Callback fired when the initial WebSocket opening handshake was completed.
|
Callback fired when the initial WebSocket opening handshake was completed.
|
||||||
You now can send and receive WebSocket messages.
|
You now can send and receive WebSocket messages.
|
||||||
@ -76,27 +417,35 @@ class IWebSocketChannel(object):
|
|||||||
|
|
||||||
@public
|
@public
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def send_message(self, message):
|
def sendMessage(self, payload, isBinary):
|
||||||
"""
|
"""
|
||||||
Send a WebSocket message over the connection to the peer.
|
Send a WebSocket message over the connection to the peer.
|
||||||
|
|
||||||
:param message: The WebSocket message to be sent.
|
:param payload: The WebSocket message to be sent.
|
||||||
:type message: Instance of :class:`autobahn.websocket.types.OutgoingMessage`
|
:type payload: bytes
|
||||||
|
|
||||||
|
:param isBinary: Flag indicating whether payload is binary or
|
||||||
|
UTF-8 encoded text.
|
||||||
|
:type isBinary: bool
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@public
|
@public
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def on_message(self, message):
|
def onMessage(self, payload, isBinary):
|
||||||
"""
|
"""
|
||||||
Callback fired when a complete WebSocket message was received.
|
Callback fired when a complete WebSocket message was received.
|
||||||
|
|
||||||
:param message: The WebSocket message received.
|
:param payload: The WebSocket message received.
|
||||||
:type message: :class:`autobahn.websocket.types.IncomingMessage`
|
:type payload: bytes
|
||||||
|
|
||||||
|
:param isBinary: Flag indicating whether payload is binary or
|
||||||
|
UTF-8 encoded text.
|
||||||
|
:type isBinary: bool
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@public
|
@public
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def send_close(self, code=None, reason=None):
|
def sendClose(self, code=None, reason=None):
|
||||||
"""
|
"""
|
||||||
Starts a WebSocket closing handshake tearing down the WebSocket connection.
|
Starts a WebSocket closing handshake tearing down the WebSocket connection.
|
||||||
|
|
||||||
@ -105,37 +454,28 @@ class IWebSocketChannel(object):
|
|||||||
:type code: int
|
:type code: int
|
||||||
:param reason: An optional close reason (a string that when present, a status
|
:param reason: An optional close reason (a string that when present, a status
|
||||||
code MUST also be present).
|
code MUST also be present).
|
||||||
:type reason: unicode
|
:type reason: str
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@public
|
@public
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def on_close(self, was_clean, code, reason):
|
def onClose(self, wasClean, code, reason):
|
||||||
"""
|
"""
|
||||||
Callback fired when the WebSocket connection has been closed (WebSocket closing
|
Callback fired when the WebSocket connection has been closed (WebSocket closing
|
||||||
handshake has been finished or the connection was closed uncleanly).
|
handshake has been finished or the connection was closed uncleanly).
|
||||||
|
|
||||||
:param wasClean: ``True`` iff the WebSocket connection was closed cleanly.
|
:param wasClean: ``True`` iff the WebSocket connection was closed cleanly.
|
||||||
:type wasClean: bool
|
:type wasClean: bool
|
||||||
|
|
||||||
:param code: Close status code as sent by the WebSocket peer.
|
:param code: Close status code as sent by the WebSocket peer.
|
||||||
:type code: int or None
|
:type code: int or None
|
||||||
|
|
||||||
:param reason: Close reason as sent by the WebSocket peer.
|
:param reason: Close reason as sent by the WebSocket peer.
|
||||||
:type reason: unicode or None
|
:type reason: str or None
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@public
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def sendPreparedMessage(self, preparedMsg):
|
def sendPing(self, payload=None):
|
||||||
"""
|
|
||||||
Send a message that was previously prepared with :func:`autobahn.websocket.protocol.WebSocketFactory.prepareMessage`.
|
|
||||||
|
|
||||||
:param prepareMessage: A previously prepared message.
|
|
||||||
:type prepareMessage: Instance of :class:`autobahn.websocket.protocol.PreparedMessage`.
|
|
||||||
"""
|
|
||||||
|
|
||||||
@public
|
|
||||||
@abc.abstractmethod
|
|
||||||
def send_ping(self, payload=None):
|
|
||||||
"""
|
"""
|
||||||
Send a WebSocket ping to the peer.
|
Send a WebSocket ping to the peer.
|
||||||
|
|
||||||
@ -146,9 +486,8 @@ class IWebSocketChannel(object):
|
|||||||
:type payload: bytes or None
|
:type payload: bytes or None
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@public
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def on_ping(self, payload):
|
def onPing(self, payload):
|
||||||
"""
|
"""
|
||||||
Callback fired when a WebSocket ping was received. A default implementation responds
|
Callback fired when a WebSocket ping was received. A default implementation responds
|
||||||
by sending a WebSocket pong.
|
by sending a WebSocket pong.
|
||||||
@ -157,9 +496,8 @@ class IWebSocketChannel(object):
|
|||||||
:type payload: bytes
|
:type payload: bytes
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@public
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def send_pong(self, payload=None):
|
def sendPong(self, payload=None):
|
||||||
"""
|
"""
|
||||||
Send a WebSocket pong to the peer.
|
Send a WebSocket pong to the peer.
|
||||||
|
|
||||||
@ -170,9 +508,8 @@ class IWebSocketChannel(object):
|
|||||||
:type payload: bytes
|
:type payload: bytes
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@public
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def on_pong(self, payload):
|
def onPong(self, payload):
|
||||||
"""
|
"""
|
||||||
Callback fired when a WebSocket pong was received. A default implementation does nothing.
|
Callback fired when a WebSocket pong was received. A default implementation does nothing.
|
||||||
|
|
||||||
|
@ -3055,6 +3055,8 @@ class WebSocketServerProtocol(WebSocketProtocol):
|
|||||||
class WebSocketServerFactory(WebSocketFactory):
|
class WebSocketServerFactory(WebSocketFactory):
|
||||||
"""
|
"""
|
||||||
A protocol factory for WebSocket servers.
|
A protocol factory for WebSocket servers.
|
||||||
|
|
||||||
|
Implements :func:`autobahn.websocket.interfaces.IWebSocketServerChannelFactory`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
log = txaio.make_logger()
|
log = txaio.make_logger()
|
||||||
@ -3076,20 +3078,7 @@ class WebSocketServerFactory(WebSocketFactory):
|
|||||||
headers=None,
|
headers=None,
|
||||||
externalPort=None):
|
externalPort=None):
|
||||||
"""
|
"""
|
||||||
Create instance of WebSocket server factory.
|
Implements :func:`autobahn.websocket.interfaces.IWebSocketServerChannelFactory.__init__`
|
||||||
|
|
||||||
:param url: The WebSocket URL this factory is working for, e.g. `ws://myhost.com/somepath`.
|
|
||||||
For non-TCP transports like pipes or Unix domain sockets, provide `None`.
|
|
||||||
This will use an implicit URL of `ws://localhost`.
|
|
||||||
:type url: str
|
|
||||||
:param protocols: List of subprotocols the server supports. The subprotocol used is the first from the list of subprotocols announced by the client that is contained in this list.
|
|
||||||
:type protocols: list of strings
|
|
||||||
:param server: Server as announced in HTTP response header during opening handshake or None (default: `AutobahnWebSocket/?.?.?`).
|
|
||||||
:type server: str
|
|
||||||
:param headers: An optional mapping of additional HTTP headers to send during the WebSocket opening handshake.
|
|
||||||
:type headers: dict
|
|
||||||
:param externalPort: Optionally, the external visible port this factory will be reachable under (i.e. when running behind a L2/L3 forwarding device).
|
|
||||||
:type externalPort: int
|
|
||||||
"""
|
"""
|
||||||
self.logOctets = False
|
self.logOctets = False
|
||||||
self.logFrames = False
|
self.logFrames = False
|
||||||
@ -3123,21 +3112,9 @@ class WebSocketServerFactory(WebSocketFactory):
|
|||||||
headers=None,
|
headers=None,
|
||||||
externalPort=None):
|
externalPort=None):
|
||||||
"""
|
"""
|
||||||
Set WebSocket session parameters.
|
Implements :func:`autobahn.websocket.interfaces.IWebSocketServerChannelFactory.setSessionParameters`
|
||||||
|
|
||||||
:param url: The WebSocket URL this factory is working for, e.g. `ws://myhost.com/somepath`.
|
|
||||||
For non-TCP transports like pipes or Unix domain sockets, provide `None`.
|
|
||||||
This will use an implicit URL of `ws://localhost`.
|
|
||||||
:type url: str
|
|
||||||
:param protocols: List of subprotocols the server supports. The subprotocol used is the first from the list of subprotocols announced by the client that is contained in this list.
|
|
||||||
:type protocols: list of strings
|
|
||||||
:param server: Server as announced in HTTP response header during opening handshake.
|
|
||||||
:type server: str
|
|
||||||
:param headers: An optional mapping of additional HTTP headers to send during the WebSocket opening handshake.
|
|
||||||
:type headers: dict
|
|
||||||
:param externalPort: Optionally, the external visible port this server will be reachable under (i.e. when running behind a L2/L3 forwarding device).
|
|
||||||
:type externalPort: int
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# parse WebSocket URI into components
|
# parse WebSocket URI into components
|
||||||
(isSecure, host, port, resource, path, params) = parse_url(url or "ws://localhost")
|
(isSecure, host, port, resource, path, params) = parse_url(url or "ws://localhost")
|
||||||
if len(params) > 0:
|
if len(params) > 0:
|
||||||
@ -3163,7 +3140,7 @@ class WebSocketServerFactory(WebSocketFactory):
|
|||||||
|
|
||||||
def resetProtocolOptions(self):
|
def resetProtocolOptions(self):
|
||||||
"""
|
"""
|
||||||
Reset all WebSocket protocol options to defaults.
|
Implements :func:`autobahn.websocket.interfaces.IWebSocketServerChannelFactory.resetProtocolOptions`
|
||||||
"""
|
"""
|
||||||
self.versions = WebSocketProtocol.SUPPORTED_PROTOCOL_VERSIONS
|
self.versions = WebSocketProtocol.SUPPORTED_PROTOCOL_VERSIONS
|
||||||
self.webStatus = True
|
self.webStatus = True
|
||||||
@ -3227,60 +3204,7 @@ class WebSocketServerFactory(WebSocketFactory):
|
|||||||
allowNullOrigin=False,
|
allowNullOrigin=False,
|
||||||
maxConnections=None):
|
maxConnections=None):
|
||||||
"""
|
"""
|
||||||
Set WebSocket protocol options used as defaults for new protocol instances.
|
Implements :func:`autobahn.websocket.interfaces.IWebSocketServerChannelFactory.setProtocolOptions`
|
||||||
|
|
||||||
:param versions: The WebSocket protocol versions accepted by the server (default: :func:`autobahn.websocket.protocol.WebSocketProtocol.SUPPORTED_PROTOCOL_VERSIONS`).
|
|
||||||
:type versions: list of ints or None
|
|
||||||
:param webStatus: Return server status/version on HTTP/GET without WebSocket upgrade header (default: `True`).
|
|
||||||
:type webStatus: bool or None
|
|
||||||
:param utf8validateIncoming: Validate incoming UTF-8 in text message payloads (default: `True`).
|
|
||||||
:type utf8validateIncoming: bool or None
|
|
||||||
:param maskServerFrames: Mask server-to-client frames (default: `False`).
|
|
||||||
:type maskServerFrames: bool or None
|
|
||||||
:param requireMaskedClientFrames: Require client-to-server frames to be masked (default: `True`).
|
|
||||||
:type requireMaskedClientFrames: bool or None
|
|
||||||
:param applyMask: Actually apply mask to payload when mask it present. Applies for outgoing and incoming frames (default: `True`).
|
|
||||||
:type applyMask: bool or None
|
|
||||||
:param maxFramePayloadSize: Maximum frame payload size that will be accepted when receiving or `0` for unlimited (default: `0`).
|
|
||||||
:type maxFramePayloadSize: int or None
|
|
||||||
:param maxMessagePayloadSize: Maximum message payload size (after reassembly of fragmented messages) that will be accepted when receiving or `0` for unlimited (default: `0`).
|
|
||||||
:type maxMessagePayloadSize: int or None
|
|
||||||
:param autoFragmentSize: Automatic fragmentation of outgoing data messages (when using the message-based API) into frames with payload length `<=` this size or `0` for no auto-fragmentation (default: `0`).
|
|
||||||
:type autoFragmentSize: int or None
|
|
||||||
:param failByDrop: Fail connections by dropping the TCP connection without performing closing handshake (default: `True`).
|
|
||||||
:type failbyDrop: bool or None
|
|
||||||
:param echoCloseCodeReason: Iff true, when receiving a close, echo back close code/reason. Otherwise reply with `code == 1000, reason = ""` (default: `False`).
|
|
||||||
:type echoCloseCodeReason: bool or None
|
|
||||||
:param openHandshakeTimeout: Opening WebSocket handshake timeout, timeout in seconds or `0` to deactivate (default: `0`).
|
|
||||||
:type openHandshakeTimeout: float or None
|
|
||||||
:param closeHandshakeTimeout: When we expect to receive a closing handshake reply, timeout in seconds (default: `1`).
|
|
||||||
:type closeHandshakeTimeout: float or None
|
|
||||||
:param tcpNoDelay: TCP NODELAY ("Nagle") socket option (default: `True`).
|
|
||||||
:type tcpNoDelay: bool or None
|
|
||||||
:param perMessageCompressionAccept: Acceptor function for offers.
|
|
||||||
:type perMessageCompressionAccept: callable or None
|
|
||||||
:param autoPingInterval: Automatically send WebSocket pings every given seconds. When the peer does not respond
|
|
||||||
in `autoPingTimeout`, drop the connection. Set to `0` to disable. (default: `0`).
|
|
||||||
:type autoPingInterval: float or None
|
|
||||||
:param autoPingTimeout: Wait this many seconds for the peer to respond to automatically sent pings. If the
|
|
||||||
peer does not respond in time, drop the connection. Set to `0` to disable. (default: `0`).
|
|
||||||
:type autoPingTimeout: float or None
|
|
||||||
:param autoPingSize: Payload size for automatic pings/pongs. Must be an integer from `[4, 125]`. (default: `4`).
|
|
||||||
:type autoPingSize: int or None
|
|
||||||
:param serveFlashSocketPolicy: Serve the Flash Socket Policy when we receive a policy file request on this protocol. (default: `False`).
|
|
||||||
:type serveFlashSocketPolicy: bool or None
|
|
||||||
:param flashSocketPolicy: The flash socket policy to be served when we are serving the Flash Socket Policy on this protocol
|
|
||||||
and when Flash tried to connect to the destination port. It must end with a null character.
|
|
||||||
:type flashSocketPolicy: str or None
|
|
||||||
|
|
||||||
:param allowedOrigins: A list of allowed WebSocket origins (with '*' as a wildcard character).
|
|
||||||
:type allowedOrigins: list or None
|
|
||||||
|
|
||||||
:param allowNullOrigin: if True, allow WebSocket connections whose `Origin:` is `"null"`.
|
|
||||||
:type allowNullOrigin: bool
|
|
||||||
|
|
||||||
:param maxConnections: Maximum number of concurrent connections. Set to `0` to disable (default: `0`).
|
|
||||||
:type maxConnections: int or None
|
|
||||||
"""
|
"""
|
||||||
if versions is not None:
|
if versions is not None:
|
||||||
for v in versions:
|
for v in versions:
|
||||||
@ -3823,6 +3747,8 @@ class WebSocketClientProtocol(WebSocketProtocol):
|
|||||||
class WebSocketClientFactory(WebSocketFactory):
|
class WebSocketClientFactory(WebSocketFactory):
|
||||||
"""
|
"""
|
||||||
A protocol factory for WebSocket clients.
|
A protocol factory for WebSocket clients.
|
||||||
|
|
||||||
|
Implements :func:`autobahn.websocket.interfaces.IWebSocketClientChannelFactory`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
log = txaio.make_logger()
|
log = txaio.make_logger()
|
||||||
@ -3845,26 +3771,7 @@ class WebSocketClientFactory(WebSocketFactory):
|
|||||||
headers=None,
|
headers=None,
|
||||||
proxy=None):
|
proxy=None):
|
||||||
"""
|
"""
|
||||||
Create instance of WebSocket client factory.
|
Implements :func:`autobahn.websocket.interfaces.IWebSocketClientChannelFactory.__init__`
|
||||||
|
|
||||||
Note that you MUST provide URL either here or set using
|
|
||||||
:meth:`autobahn.websocket.WebSocketClientFactory.setSessionParameters`
|
|
||||||
*before* the factory is started.
|
|
||||||
|
|
||||||
:param url: WebSocket URL this factory will connect to, e.g. `ws://myhost.com/somepath?param1=23`.
|
|
||||||
For non-TCP transports like pipes or Unix domain sockets, provide `None`.
|
|
||||||
This will use an implicit URL of `ws://localhost`.
|
|
||||||
:type url: str
|
|
||||||
:param origin: The origin to be sent in WebSocket opening handshake or None (default: `None`).
|
|
||||||
:type origin: str
|
|
||||||
:param protocols: List of subprotocols the client should announce in WebSocket opening handshake (default: `[]`).
|
|
||||||
:type protocols: list of strings
|
|
||||||
:param useragent: User agent as announced in HTTP request header or None (default: `AutobahnWebSocket/?.?.?`).
|
|
||||||
:type useragent: str
|
|
||||||
:param headers: An optional mapping of additional HTTP headers to send during the WebSocket opening handshake.
|
|
||||||
:type headers: dict
|
|
||||||
:param proxy: Explicit proxy server to use; a dict with ``host`` and ``port`` keys
|
|
||||||
:type proxy: dict or None
|
|
||||||
"""
|
"""
|
||||||
self.logOctets = False
|
self.logOctets = False
|
||||||
self.logFrames = False
|
self.logFrames = False
|
||||||
@ -3895,22 +3802,7 @@ class WebSocketClientFactory(WebSocketFactory):
|
|||||||
headers=None,
|
headers=None,
|
||||||
proxy=None):
|
proxy=None):
|
||||||
"""
|
"""
|
||||||
Set WebSocket session parameters.
|
Implements :func:`autobahn.websocket.interfaces.IWebSocketClientChannelFactory.setSessionParameters`
|
||||||
|
|
||||||
:param url: WebSocket URL this factory will connect to, e.g. `ws://myhost.com/somepath?param1=23`.
|
|
||||||
For non-TCP transports like pipes or Unix domain sockets, provide `None`.
|
|
||||||
This will use an implicit URL of `ws://localhost`.
|
|
||||||
:type url: str
|
|
||||||
:param origin: The origin to be sent in opening handshake.
|
|
||||||
:type origin: str
|
|
||||||
:param protocols: List of WebSocket subprotocols the client should announce in opening handshake.
|
|
||||||
:type protocols: list of strings
|
|
||||||
:param useragent: User agent as announced in HTTP request header during opening handshake.
|
|
||||||
:type useragent: str
|
|
||||||
:param headers: An optional mapping of additional HTTP headers to send during the WebSocket opening handshake.
|
|
||||||
:type headers: dict
|
|
||||||
:param proxy: (Optional) a dict with ``host`` and ``port`` keys specifying a proxy to use
|
|
||||||
:type proxy: dict or None
|
|
||||||
"""
|
"""
|
||||||
# parse WebSocket URI into components
|
# parse WebSocket URI into components
|
||||||
(isSecure, host, port, resource, path, params) = parse_url(url or "ws://localhost")
|
(isSecure, host, port, resource, path, params) = parse_url(url or "ws://localhost")
|
||||||
@ -3931,7 +3823,7 @@ class WebSocketClientFactory(WebSocketFactory):
|
|||||||
|
|
||||||
def resetProtocolOptions(self):
|
def resetProtocolOptions(self):
|
||||||
"""
|
"""
|
||||||
Reset all WebSocket protocol options to defaults.
|
Implements :func:`autobahn.websocket.interfaces.IWebSocketClientChannelFactory.resetProtocolOptions`
|
||||||
"""
|
"""
|
||||||
self.version = WebSocketProtocol.DEFAULT_SPEC_VERSION
|
self.version = WebSocketProtocol.DEFAULT_SPEC_VERSION
|
||||||
self.utf8validateIncoming = True
|
self.utf8validateIncoming = True
|
||||||
@ -3980,47 +3872,7 @@ class WebSocketClientFactory(WebSocketFactory):
|
|||||||
autoPingTimeout=None,
|
autoPingTimeout=None,
|
||||||
autoPingSize=None):
|
autoPingSize=None):
|
||||||
"""
|
"""
|
||||||
Set WebSocket protocol options used as defaults for _new_ protocol instances.
|
Implements :func:`autobahn.websocket.interfaces.IWebSocketClientChannelFactory.setProtocolOptions`
|
||||||
|
|
||||||
:param version: The WebSocket protocol spec (draft) version to be used (default: :func:`autobahn.websocket.protocol.WebSocketProtocol.SUPPORTED_PROTOCOL_VERSIONS`).
|
|
||||||
:param utf8validateIncoming: Validate incoming UTF-8 in text message payloads (default: `True`).
|
|
||||||
:type utf8validateIncoming: bool
|
|
||||||
:param acceptMaskedServerFrames: Accept masked server-to-client frames (default: `False`).
|
|
||||||
:type acceptMaskedServerFrames: bool
|
|
||||||
:param maskClientFrames: Mask client-to-server frames (default: `True`).
|
|
||||||
:type maskClientFrames: bool
|
|
||||||
:param applyMask: Actually apply mask to payload when mask it present. Applies for outgoing and incoming frames (default: `True`).
|
|
||||||
:type applyMask: bool
|
|
||||||
:param maxFramePayloadSize: Maximum frame payload size that will be accepted when receiving or `0` for unlimited (default: `0`).
|
|
||||||
:type maxFramePayloadSize: int
|
|
||||||
:param maxMessagePayloadSize: Maximum message payload size (after reassembly of fragmented messages) that will be accepted when receiving or `0` for unlimited (default: `0`).
|
|
||||||
:type maxMessagePayloadSize: int
|
|
||||||
:param autoFragmentSize: Automatic fragmentation of outgoing data messages (when using the message-based API) into frames with payload length `<=` this size or `0` for no auto-fragmentation (default: `0`).
|
|
||||||
:type autoFragmentSize: int
|
|
||||||
:param failByDrop: Fail connections by dropping the TCP connection without performing closing handshake (default: `True`).
|
|
||||||
:type failbyDrop: bool
|
|
||||||
:param echoCloseCodeReason: Iff true, when receiving a close, echo back close code/reason. Otherwise reply with `code == 1000, reason = ""` (default: `False`).
|
|
||||||
:type echoCloseCodeReason: bool
|
|
||||||
:param serverConnectionDropTimeout: When the client expects the server to drop the TCP, timeout in seconds (default: `1`).
|
|
||||||
:type serverConnectionDropTimeout: float
|
|
||||||
:param openHandshakeTimeout: Opening WebSocket handshake timeout, timeout in seconds or `0` to deactivate (default: `0`).
|
|
||||||
:type openHandshakeTimeout: float
|
|
||||||
:param closeHandshakeTimeout: When we expect to receive a closing handshake reply, timeout in seconds (default: `1`).
|
|
||||||
:type closeHandshakeTimeout: float
|
|
||||||
:param tcpNoDelay: TCP NODELAY ("Nagle"): bool socket option (default: `True`).
|
|
||||||
:type tcpNoDelay: bool
|
|
||||||
:param perMessageCompressionOffers: A list of offers to provide to the server for the permessage-compress WebSocket extension. Must be a list of instances of subclass of PerMessageCompressOffer.
|
|
||||||
:type perMessageCompressionOffers: list of instance of subclass of PerMessageCompressOffer
|
|
||||||
:param perMessageCompressionAccept: Acceptor function for responses.
|
|
||||||
:type perMessageCompressionAccept: callable
|
|
||||||
:param autoPingInterval: Automatically send WebSocket pings every given seconds. When the peer does not respond
|
|
||||||
in `autoPingTimeout`, drop the connection. Set to `0` to disable. (default: `0`).
|
|
||||||
:type autoPingInterval: float or None
|
|
||||||
:param autoPingTimeout: Wait this many seconds for the peer to respond to automatically sent pings. If the
|
|
||||||
peer does not respond in time, drop the connection. Set to `0` to disable. (default: `0`).
|
|
||||||
:type autoPingTimeout: float or None
|
|
||||||
:param autoPingSize: Payload size for automatic pings/pongs. Must be an integer from `[4, 125]`. (default: `4`).
|
|
||||||
:type autoPingSize: int
|
|
||||||
"""
|
"""
|
||||||
if version is not None:
|
if version is not None:
|
||||||
if version not in WebSocketProtocol.SUPPORTED_SPEC_VERSIONS:
|
if version not in WebSocketProtocol.SUPPORTED_SPEC_VERSIONS:
|
||||||
|
@ -283,7 +283,6 @@ class ConnectionDeny(Exception):
|
|||||||
self.reason = reason
|
self.reason = reason
|
||||||
|
|
||||||
|
|
||||||
@public
|
|
||||||
class Message(object):
|
class Message(object):
|
||||||
"""
|
"""
|
||||||
Abstract base class for WebSocket messages.
|
Abstract base class for WebSocket messages.
|
||||||
@ -292,7 +291,6 @@ class Message(object):
|
|||||||
__slots__ = ()
|
__slots__ = ()
|
||||||
|
|
||||||
|
|
||||||
@public
|
|
||||||
class IncomingMessage(Message):
|
class IncomingMessage(Message):
|
||||||
"""
|
"""
|
||||||
An incoming WebSocket message.
|
An incoming WebSocket message.
|
||||||
@ -318,7 +316,6 @@ class IncomingMessage(Message):
|
|||||||
self.is_binary = is_binary
|
self.is_binary = is_binary
|
||||||
|
|
||||||
|
|
||||||
@public
|
|
||||||
class OutgoingMessage(Message):
|
class OutgoingMessage(Message):
|
||||||
"""
|
"""
|
||||||
An outgoing WebSocket message.
|
An outgoing WebSocket message.
|
||||||
@ -352,7 +349,6 @@ class OutgoingMessage(Message):
|
|||||||
self.skip_compress = skip_compress
|
self.skip_compress = skip_compress
|
||||||
|
|
||||||
|
|
||||||
@public
|
|
||||||
class Ping(object):
|
class Ping(object):
|
||||||
"""
|
"""
|
||||||
A WebSocket ping message.
|
A WebSocket ping message.
|
||||||
|
@ -26,6 +26,8 @@
|
|||||||
|
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
|
from autobahn.util import public
|
||||||
|
|
||||||
import six
|
import six
|
||||||
from six.moves import urllib
|
from six.moves import urllib
|
||||||
# The Python urlparse module currently does not contain the ws/wss
|
# The Python urlparse module currently does not contain the ws/wss
|
||||||
@ -56,6 +58,7 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
def create_url(hostname, port=None, isSecure=False, path=None, params=None):
|
def create_url(hostname, port=None, isSecure=False, path=None, params=None):
|
||||||
"""
|
"""
|
||||||
Create a WebSocket URL from components.
|
Create a WebSocket URL from components.
|
||||||
@ -103,6 +106,7 @@ def create_url(hostname, port=None, isSecure=False, path=None, params=None):
|
|||||||
return urllib.parse.urlunparse((scheme, netloc, ppath, None, query, None))
|
return urllib.parse.urlunparse((scheme, netloc, ppath, None, query, None))
|
||||||
|
|
||||||
|
|
||||||
|
@public
|
||||||
def parse_url(url):
|
def parse_url(url):
|
||||||
"""
|
"""
|
||||||
Parses as WebSocket URL into it's components and returns a tuple (isSecure, host, port, resource, path, params).
|
Parses as WebSocket URL into it's components and returns a tuple (isSecure, host, port, resource, path, params).
|
||||||
|
@ -1,32 +1,20 @@
|
|||||||
autobahn.asyncio
|
Module ``autobahn.asyncio``
|
||||||
================
|
===========================
|
||||||
|
|
||||||
Autobahn asyncio specific classes. These are used when asyncio is run as the underlying networking framework.
|
Autobahn asyncio specific classes. These are used when asyncio is run as the underlying networking framework.
|
||||||
|
|
||||||
|
|
||||||
autobahn.asyncio.wamp
|
WebSocket Protocols and Factories
|
||||||
---------------------
|
---------------------------------
|
||||||
|
|
||||||
WAMP on asyncio.
|
.. autoclass:: autobahn.asyncio.websocket.WebSocketServerProtocol
|
||||||
|
|
||||||
.. automodule:: autobahn.asyncio.wamp
|
|
||||||
:members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
|
|
||||||
autobahn.asyncio.websocket
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
WebSocket on asyncio.
|
|
||||||
|
|
||||||
.. automodule:: autobahn.asyncio.websocket
|
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: autobahn.asyncio.websocket.WebSocketClientProtocol
|
||||||
autobahn.asyncio.rawsocket
|
:members:
|
||||||
--------------------------
|
|
||||||
|
.. autoclass:: autobahn.asyncio.websocket.WebSocketServerFactory
|
||||||
RawSocket on asyncio.
|
:members:
|
||||||
|
|
||||||
.. automodule:: autobahn.asyncio.rawsocket
|
.. autoclass:: autobahn.asyncio.websocket.WebSocketClientFactory
|
||||||
:members:
|
:members:
|
||||||
|
@ -1,40 +1,17 @@
|
|||||||
API Reference
|
Public API Reference
|
||||||
=============
|
====================
|
||||||
|
|
||||||
The following is a API reference of |Ab| generated from Python source code and docstrings.
|
The following is a API reference of |Ab| generated from Python source code and docstrings.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
This is a *complete* reference of both the *public* API and the *internal* API of |Ab|.
|
This is a *complete* reference of the *public* API of |Ab|.
|
||||||
Applications should only rely on the *public* API, since internal APIs can (and often do) change without any guarantees.
|
User code and applications should only rely on the *public* API, since internal APIs can (and will) change without any guarantees.
|
||||||
|
|
||||||
|
|
||||||
Subpackages
|
|
||||||
-----------
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
|
|
||||||
autobahn.asyncio
|
|
||||||
autobahn.twisted
|
|
||||||
autobahn.wamp
|
|
||||||
autobahn.websocket
|
|
||||||
autobahn.rawsocket
|
|
||||||
|
|
||||||
Submodules
|
|
||||||
----------
|
|
||||||
|
|
||||||
autobahn.util
|
autobahn.util
|
||||||
-------------
|
autobahn.websocket
|
||||||
|
autobahn.wamp
|
||||||
.. automodule:: autobahn.util
|
autobahn.twisted
|
||||||
:members:
|
autobahn.asyncio
|
||||||
:undoc-members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
|
|
||||||
Module contents
|
|
||||||
---------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn
|
|
||||||
:members:
|
|
||||||
:undoc-members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
@ -1,70 +1,20 @@
|
|||||||
autobahn.twisted
|
Module ``autobahn.twisted``
|
||||||
================
|
===========================
|
||||||
|
|
||||||
|
Autobahn Twisted specific classes. These are used when Twisted is run as the underlying networking framework.
|
||||||
|
|
||||||
|
|
||||||
Submodules
|
WebSocket Protocols and Factories
|
||||||
----------
|
---------------------------------
|
||||||
|
|
||||||
autobahn.twisted.choosereactor
|
.. autoclass:: autobahn.twisted.websocket.WebSocketServerProtocol
|
||||||
------------------------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.twisted.choosereactor
|
|
||||||
:members:
|
:members:
|
||||||
:undoc-members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
autobahn.twisted.forwarder
|
.. autoclass:: autobahn.twisted.websocket.WebSocketClientProtocol
|
||||||
--------------------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.twisted.forwarder
|
|
||||||
:members:
|
:members:
|
||||||
:undoc-members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
autobahn.twisted.rawsocket
|
.. autoclass:: autobahn.twisted.websocket.WebSocketServerFactory
|
||||||
--------------------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.twisted.rawsocket
|
|
||||||
:members:
|
:members:
|
||||||
:undoc-members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
autobahn.twisted.resource
|
.. autoclass:: autobahn.twisted.websocket.WebSocketClientFactory
|
||||||
-------------------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.twisted.resource
|
|
||||||
:members:
|
:members:
|
||||||
:undoc-members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
autobahn.twisted.util
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.twisted.util
|
|
||||||
:members:
|
|
||||||
:undoc-members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
autobahn.twisted.wamp
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.twisted.wamp
|
|
||||||
:members:
|
|
||||||
:undoc-members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
autobahn.twisted.websocket
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.twisted.websocket
|
|
||||||
:members:
|
|
||||||
:undoc-members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
Module contents
|
|
||||||
---------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.twisted
|
|
||||||
:members:
|
|
||||||
:undoc-members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
6
docs/reference/autobahn.util.rst
Normal file
6
docs/reference/autobahn.util.rst
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
Module ``autobahn.util``
|
||||||
|
========================
|
||||||
|
|
||||||
|
.. automodule:: autobahn.util
|
||||||
|
:members:
|
||||||
|
|
@ -1,95 +1,36 @@
|
|||||||
autobahn.wamp
|
Module ``autobahn.wamp``
|
||||||
=============
|
========================
|
||||||
|
|
||||||
Submodules
|
WAMP Interfaces
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. automodule:: autobahn.wamp.interfaces
|
||||||
|
:members:
|
||||||
|
|
||||||
|
|
||||||
|
WAMP Types
|
||||||
----------
|
----------
|
||||||
|
|
||||||
autobahn.wamp.auth
|
.. automodule:: autobahn.wamp.types
|
||||||
------------------
|
:members:
|
||||||
|
|
||||||
|
|
||||||
|
WAMP Exceptions
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. automodule:: autobahn.wamp.exception
|
||||||
|
:members:
|
||||||
|
|
||||||
|
|
||||||
|
WAMP Authentication and Encryption
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
.. automodule:: autobahn.wamp.auth
|
.. automodule:: autobahn.wamp.auth
|
||||||
:members:
|
:members:
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
|
|
||||||
autobahn.wamp.exception
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.wamp.exception
|
|
||||||
:members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
autobahn.wamp.interfaces
|
|
||||||
------------------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.wamp.interfaces
|
|
||||||
:members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
autobahn.wamp.message
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.wamp.message
|
|
||||||
:members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
autobahn.wamp.protocol
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.wamp.protocol
|
|
||||||
:members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
autobahn.wamp.role
|
|
||||||
------------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.wamp.role
|
|
||||||
:members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
autobahn.wamp.serializer
|
|
||||||
------------------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.wamp.serializer
|
|
||||||
:members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
autobahn.wamp.types
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
These are plain value-holding classes used in the public WAMP API of Autobahn.
|
|
||||||
|
|
||||||
.. automodule:: autobahn.wamp.types
|
|
||||||
:members:
|
|
||||||
|
|
||||||
autobahn.wamp.cryptobox
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.wamp.cryptobox
|
|
||||||
:members:
|
|
||||||
|
|
||||||
autobahn.wamp.cryptosign
|
|
||||||
------------------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.wamp.cryptosign
|
.. automodule:: autobahn.wamp.cryptosign
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
autobahn.wamp.uri
|
.. automodule:: autobahn.wamp.cryptobox
|
||||||
-----------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.wamp.uri
|
|
||||||
:members:
|
:members:
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
autobahn.wamp.websocket
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.wamp.websocket
|
|
||||||
:members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
|
||||||
Module contents
|
|
||||||
---------------
|
|
||||||
|
|
||||||
.. automodule:: autobahn.wamp
|
|
||||||
:members:
|
|
||||||
:show-inheritance:
|
|
||||||
|
@ -1,23 +1,35 @@
|
|||||||
autobahn.websocket
|
Module ``autobahn.websocket``
|
||||||
==================
|
=============================
|
||||||
|
|
||||||
WebSocket Channel Interface
|
WebSocket Interfaces
|
||||||
---------------------------
|
--------------------
|
||||||
|
|
||||||
.. autoclass:: autobahn.websocket.IWebSocketChannel
|
.. autoclass:: autobahn.websocket.interfaces.IWebSocketChannel
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: autobahn.websocket.interfaces.IWebSocketServerChannelFactory
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: autobahn.websocket.interfaces.IWebSocketClientChannelFactory
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|
||||||
WebSocket Messages
|
WebSocket Types
|
||||||
------------------
|
---------------
|
||||||
|
|
||||||
.. autoclass:: autobahn.websocket.Message
|
.. automodule:: autobahn.websocket.types
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
.. autoclass:: autobahn.websocket.IncomingMessage
|
|
||||||
:show-inheritance:
|
WebSocket Compression
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
.. automodule:: autobahn.websocket.compress
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
.. autoclass:: autobahn.websocket.OutgoingMessage
|
|
||||||
:show-inheritance:
|
WebSocket Utils
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. automodule:: autobahn.websocket.util
|
||||||
:members:
|
:members:
|
||||||
|
Loading…
Reference in New Issue
Block a user