Class ManagedServiceGuardedMessageHandler<TContent>Abstract

Guard a message handler by getting and verifying the JWT token. It changes the MessageInfo parameter to AuthenticatedManagementSubjectMessageInfo which contains the JWT token subject. In addition it checks that the subjects permission match the required ones. This class is only intended to be implemented by Axinom Managed Services.

Type Parameters

  • TContent

Hierarchy

Constructors

Properties

messageType: string
middleware: OnMessageMiddleware<unknown>[]
overrides?: SubscriptionConfig

Methods

  • Get the environment info that was extracted through the authenticationMiddleware

    Parameters

    • message: MessageInfo<unknown>

      the RabbitMQ message that contains a JWT token

    Returns EnvironmentInfo

  • Function to map thrown error of unspecified type to a more human-readable error. Defining this mapping function eliminates the need to wrap onMessage contents into an explicit try-catch block.

    Parameters

    • error: unknown

    Returns Error

  • Main message handling function.

    Parameters

    • payload: TContent

      non-binary message payload (usually a json)

    • message: MessageInfo<TContent>

      message with all related message metadata, including message envelope

    • ackOrNack: AckOrNack

      acknowledgment or rejection callback that can be called to forcefully complete the message processing.

    Returns Promise<void>

  • Function that will be called after the last retry attempt has failed. Useful for handling errors in an explicit way.

    Parameters

    • payload: TContent

      non-binary message payload (usually a json)

    • message: MessageInfo<TContent>

      message with all related message metadata, including message envelope

    • error: Error

      error object that caused message processing to repeatedly fail

    Returns Promise<void>

Generated using TypeDoc