Source code for aries_cloudagent.protocols.endorse_transaction.v1_0.handlers.transaction_resend_handler

"""Transaction resend handler."""

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

from ..manager import TransactionManager, TransactionManagerError
from ..messages.transaction_resend import TransactionResend


[docs]class TransactionResendHandler(BaseHandler): """Handler class for transaction resend."""
[docs] async def handle(self, context: RequestContext, responder: BaseResponder): """ Handle transaction resend. Args: context: Request context responder: Responder callback """ self._logger.debug(f"TransactionResendHandler called with context {context}") assert isinstance(context.message, TransactionResend) if not context.connection_ready: raise HandlerException("No connection established") mgr = TransactionManager(context.profile) try: await mgr.receive_transaction_resend( context.message, context.connection_record.connection_id ) except TransactionManagerError: self._logger.exception("Error receiving resend transaction request")