aries_cloudagent.transport package

Subpackages

Submodules

aries_cloudagent.transport.error module

Transport-related error classes and codes.

exception aries_cloudagent.transport.error.RecipientKeysError(*args, error_code: Optional[str] = None, **kwargs)[source]

Bases: WireFormatError

Extract recipient keys error.

exception aries_cloudagent.transport.error.TransportError(*args, error_code: Optional[str] = None, **kwargs)[source]

Bases: BaseError

Base class for all transport errors.

exception aries_cloudagent.transport.error.WireFormatEncodeError(*args, error_code: Optional[str] = None, **kwargs)[source]

Bases: WireFormatError

Encoding error when packing the wire format.

error_code = 'message_encode_error'
exception aries_cloudagent.transport.error.WireFormatError(*args, error_code: Optional[str] = None, **kwargs)[source]

Bases: TransportError

Base class for wire-format errors.

exception aries_cloudagent.transport.error.WireFormatParseError(*args, error_code: Optional[str] = None, **kwargs)[source]

Bases: WireFormatError

Parse error when unpacking the wire format.

error_code = 'message_parse_error'

aries_cloudagent.transport.pack_format module

Standard packed message format classes.

class aries_cloudagent.transport.pack_format.PackWireFormat[source]

Bases: BaseWireFormat

Standard DIDComm message parser and serializer.

async encode_message(session: ProfileSession, message_json: Union[str, bytes], recipient_keys: Sequence[str], routing_keys: Sequence[str], sender_key: str) Union[str, bytes][source]

Encode an outgoing message for transport.

Parameters
  • session – The profile session for providing wallet access

  • message_json – The message body to serialize

  • recipient_keys – A sequence of recipient verkeys

  • routing_keys – A sequence of routing verkeys

  • sender_key – The verification key of the sending agent

Returns

The encoded message

Raises

MessageEncodeError – If the message could not be encoded

get_recipient_keys(message_body: Union[str, bytes]) List[str][source]

Get all recipient keys from a wire message.

Parameters

message_body – The body of the message

Returns

List of recipient keys from the message body

Raises

RecipientKeysError – If the recipient keys could not be extracted

async pack(session: ProfileSession, message_json: Union[str, bytes], recipient_keys: Sequence[str], routing_keys: Sequence[str], sender_key: str)[source]

Look up the wallet instance and perform the message pack.

async parse_message(session: ProfileSession, message_body: Union[str, bytes]) Tuple[dict, MessageReceipt][source]

Deserialize an incoming message and further populate the request context.

Parameters
  • session – The profile session for providing wallet access

  • message_body – The body of the message

Returns

A tuple of the parsed message and a message receipt instance

Raises
  • WireFormatParseError – If the JSON parsing failed

  • WireFormatParseError – If a wallet is required but can’t be located

async unpack(session: ProfileSession, message_body: Union[str, bytes], receipt: MessageReceipt)[source]

Look up the wallet instance and perform the message unpack.

aries_cloudagent.transport.stats module

aiohttp stats collector support.

class aries_cloudagent.transport.stats.StatsTracer(*args: Any, **kwargs: Any)[source]

Bases: TraceConfig

Attach hooks to client session events and report statistics.

async connection_queued_end(session, context, params)[source]

Handle the end of a queued connection.

async connection_queued_start(session, context, params)[source]

Handle the start of a queued connection.

async connection_ready(session, context, params)[source]

Handle the end of connection acquisition.

async dns_resolvehost_end(session, context, params)[source]

Handle the end of a DNS resolution.

async dns_resolvehost_start(session, context, params)[source]

Handle the start of a DNS resolution.

async request_end(session, context, params)[source]

Handle the end of request.

async request_start(session, context, params)[source]

Handle the start of a request.

async socket_connect_start(session, context, params)[source]

Handle the start of a socket connection.

aries_cloudagent.transport.wire_format module

Abstract wire format classes.

class aries_cloudagent.transport.wire_format.BaseWireFormat[source]

Bases: object

Abstract messaging wire format.

abstract async encode_message(session: ProfileSession, message_json: Union[str, bytes], recipient_keys: Sequence[str], routing_keys: Sequence[str], sender_key: str) Union[str, bytes][source]

Encode an outgoing message for transport.

Parameters
  • session – The profile session for providing wallet access

  • message_json – The message body to serialize

  • recipient_keys – A sequence of recipient verkeys

  • routing_keys – A sequence of routing verkeys

  • sender_key – The verification key of the sending agent

Returns

The encoded message

Raises

MessageEncodeError – If the message could not be encoded

abstract get_recipient_keys(message_body: Union[str, bytes]) List[str][source]

Get all recipient keys from a wire message.

Parameters

message_body – The body of the message

Returns

List of recipient keys from the message body

Raises

RecipientKeysError – If the recipient keys could not be extracted

abstract async parse_message(session: ProfileSession, message_body: Union[str, bytes]) Tuple[dict, MessageReceipt][source]

Deserialize an incoming message and further populate the request context.

Parameters
  • session – The profile session for providing wallet access

  • message_body – The body of the message

Returns

A tuple of the parsed message and a message receipt instance

Raises

WireFormatParseError – If the message can’t be parsed

class aries_cloudagent.transport.wire_format.JsonWireFormat[source]

Bases: BaseWireFormat

Unencrypted wire format.

abstract async encode_message(session: ProfileSession, message_json: Union[str, bytes], recipient_keys: Sequence[str], routing_keys: Sequence[str], sender_key: str) Union[str, bytes][source]

Encode an outgoing message for transport.

Parameters
  • session – The profile session for providing wallet access

  • message_json – The message body to serialize

  • recipient_keys – A sequence of recipient verkeys

  • routing_keys – A sequence of routing verkeys

  • sender_key – The verification key of the sending agent

Returns

The encoded message

Raises

MessageEncodeError – If the message could not be encoded

get_recipient_keys(message_body: Union[str, bytes]) List[str][source]

Get all recipient keys from a wire message.

Parameters

message_body – The body of the message

Returns

List of recipient keys from the message body

Raises

RecipientKeysError – If the recipient keys could not be extracted

abstract async parse_message(session: ProfileSession, message_body: Union[str, bytes]) Tuple[dict, MessageReceipt][source]

Deserialize an incoming message and further populate the request context.

Parameters
  • session – The profile session for providing wallet access

  • message_body – The body of the message

Returns

A tuple of the parsed message and a message receipt instance

Raises

WireFormatParseError – If the JSON parsing failed