Source code for aries_cloudagent.protocols.didexchange.v1_0.handlers.invitation_handler

"""Connect invitation handler under RFC 23 (DID exchange)."""

from .....messaging.base_handler import (
    BaseHandler,
    BaseResponder,
    RequestContext,
)

from ....out_of_band.v1_0.messages.invitation import InvitationMessage
from ....problem_report.v1_0.message import ProblemReport

from ..messages.problem_report_reason import ProblemReportReason


[docs]class InvitationHandler(BaseHandler): """Handler class for connection invitation message under RFC 23 (DID exchange)."""
[docs] async def handle(self, context: RequestContext, responder: BaseResponder): """ Handle connection invitation under RFC 23 (DID exchange). Args: context: Request context responder: Responder callback """ self._logger.debug(f"InvitationHandler called with context {context}") assert isinstance(context.message, InvitationMessage) report = ProblemReport( description={ "code": ProblemReportReason.INVITATION_NOT_ACCEPTED.value, "en": ( "Out-of-band invitations for DID exchange " "cannot be submitted via agent messaging" ), } ) # client likely needs to be using direct responses to receive the problem report await responder.send_reply(report)