Source code for aries_cloudagent.protocols.out_of_band.v1_0.handlers.problem_report_handler

"""OOB Problem Report Message Handler."""

from .....messaging.base_handler import BaseHandler
from .....messaging.request_context import RequestContext
from .....messaging.responder import BaseResponder

from ..manager import OutOfBandManager, OutOfBandManagerError
from ..messages.problem_report import OOBProblemReport


[docs]class OOBProblemReportMessageHandler(BaseHandler): """ Handler class for OOB Problem Report Message. Updates the ConnRecord Metadata state. """
[docs] async def handle(self, context: RequestContext, responder: BaseResponder): """ OOB Problem Report Message Handler. Args: context: Request context responder: Responder callback """ self._logger.debug( f"OOBProblemReportMessageHandler called with context {context}" ) assert isinstance(context.message, OOBProblemReport) session = await context.session() mgr = OutOfBandManager(session) try: await mgr.receive_problem_report( problem_report=context.message, receipt=context.message_receipt, conn_record=context.connection_record, ) except OutOfBandManagerError: self._logger.exception("Error processing OOB Problem Report message")