autobahn.wamp.protocol¶
Classes¶
WAMP application session for applications (networking framework agnostic parts). |
|
WAMP endpoint session factory. |
|
WAMP session base class. |
|
shim that lets us present pep8 API for user-classes to override, |
Functions¶
Module Contents¶
- class ApplicationSession(config: autobahn.wamp.types.ComponentConfig | None = None)[source]¶
Bases:
BaseSessionWAMP application session for applications (networking framework agnostic parts).
Implements (partially):
- _payload_codec: autobahn.wamp.interfaces.IPayloadCodec | None = None[source]¶
- _swallow_error(fail, msg)[source]¶
This is an internal generic error-handler for errors encountered when calling down to on*() handlers that can reasonably be expected to be overridden in user code.
Note that it cancels the error, so use with care!
Specifically, this should never be added to the errback chain for a Deferred/coroutine that will make it out to user code.
- call(procedure: str, *args, **kwargs) Any | autobahn.wamp.types.CallResult[source]¶
Implements
autobahn.wamp.interfaces.ICaller.call()Note
Regarding type hints for
*argsand**kwargs, doesn’t work as we can receive any Python types as list items or dict values, and because of what is discussed here https://adamj.eu/tech/2021/05/11/python-type-hints-args-and-kwargs/
- property config: autobahn.wamp.types.ComponentConfig[source]¶
- get_payload_codec() autobahn.wamp.interfaces.IPayloadCodec | None[source]¶
Implements
autobahn.wamp.interfaces.ISession.get_payload_codec()
- join(realm: str, authmethods: List[str] | None = None, authid: str | None = None, authrole: str | None = None, authextra: Dict[str, Any] | None = None, resumable: bool | None = None, resume_session: int | None = None, resume_token: str | None = None)[source]¶
Implements
autobahn.wamp.interfaces.ISession.join()
- leave(reason: str | None = None, message: str | None = None)[source]¶
Implements
autobahn.wamp.interfaces.ISession.leave()
- onChallenge(challenge: autobahn.wamp.types.Challenge) str[source]¶
- onClose(wasClean)[source]¶
Implements
autobahn.wamp.interfaces.ITransportHandler.onClose()
- onJoin(details: autobahn.wamp.types.SessionDetails)[source]¶
Implements
autobahn.wamp.interfaces.ISession.onJoin()
- onLeave(details: autobahn.wamp.types.CloseDetails)[source]¶
Implements
autobahn.wamp.interfaces.ISession.onLeave()
- onMessage(msg: autobahn.wamp.interfaces.IMessage)[source]¶
Implements
autobahn.wamp.interfaces.ITransportHandler.onMessage()
- onOpen(transport: autobahn.wamp.interfaces.ITransport)[source]¶
Implements
autobahn.wamp.interfaces.ITransportHandler.onOpen()
- onWelcome(welcome: autobahn.wamp.message.Welcome) str | None[source]¶
- publish(topic: str, *args, **kwargs) autobahn.wamp.request.Publication | None[source]¶
Implements
autobahn.wamp.interfaces.IPublisher.publish()
- register(endpoint: Callable | Any, procedure: str | None = None, options: autobahn.wamp.types.RegisterOptions | None = None, prefix: str | None = None, check_types: bool | None = None) autobahn.wamp.request.Registration | List[autobahn.wamp.request.Registration][source]¶
Implements
autobahn.wamp.interfaces.ICallee.register()
- set_payload_codec(payload_codec: autobahn.wamp.interfaces.IPayloadCodec | None)[source]¶
Implements
autobahn.wamp.interfaces.ISession.set_payload_codec()
- subscribe(handler: Callable | Any, topic: str | None = None, options: autobahn.wamp.types.SubscribeOptions | None = None, check_types: bool | None = None) autobahn.wamp.request.Subscription | List[autobahn.wamp.request.Subscription][source]¶
Implements
autobahn.wamp.interfaces.ISubscriber.subscribe()
- class ApplicationSessionFactory(config=None)[source]¶
Bases:
objectWAMP endpoint session factory.
- class BaseSession[source]¶
Bases:
autobahn.util.ObservableMixinWAMP session base class.
This class implements
autobahn.wamp.interfaces.ISession.- _ecls_to_uri_pat: Dict[ClassVar, List[autobahn.wamp.uri.Pattern]][source]¶
- _exception_from_message(msg)[source]¶
Create a user (or generic) exception from a WAMP error message.
- Parameters:
msg (instance of
autobahn.wamp.message.Error) – A WAMP error message.
- _message_from_exception(request_type, request, exc, tb=None, enc_algo=None)[source]¶
Create a WAMP error message from an exception.
- Parameters:
- _payload_codec: autobahn.wamp.interfaces.IPayloadCodec | None = None[source]¶
- _session_details: autobahn.wamp.types.SessionDetails | None = None[source]¶
- _session_roles: Dict[str, autobahn.wamp.role.RoleFeatures][source]¶
- _transport: autobahn.wamp.interfaces.ITransport | None = None[source]¶
- define(exception: Exception, error: str | None = None)[source]¶
Implements
autobahn.wamp.interfaces.ISession.define()
- property session_details: autobahn.wamp.types.SessionDetails | None[source]¶
Implements
autobahn.wamp.interfaces.ISession.session_details()
- property transport: autobahn.wamp.interfaces.ITransport | None[source]¶
Implements
autobahn.wamp.interfaces.ITransportHandler.transport()
- class _SessionShim(config: autobahn.wamp.types.ComponentConfig | None = None)[source]¶
Bases:
ApplicationSessionshim that lets us present pep8 API for user-classes to override, but also backwards-compatible for existing code using ApplicationSession “directly”.
NOTE: this is not public or intended for use; you should import either autobahn.asyncio.wamp.Session or autobahn.twisted.wamp.Session depending on which async framework yo’re using.
- _merged_authextra()[source]¶
internal helper
- Returns:
a single ‘authextra’ dict, consisting of all keys from any authenticator’s authextra.
Note that when the authenticator was added, we already checked that any keys it does contain has the same value as any existing authextra.
- onJoin(details)[source]¶
Implements
autobahn.wamp.interfaces.ISession.onJoin()
- onLeave(details)[source]¶
Implements
autobahn.wamp.interfaces.ISession.onLeave()