EventHandler.kt

  1. /*
  2.  * This file is part of the pl.wrzasq.commons.
  3.  *
  4.  * @license http://mit-license.org/ The MIT license
  5.  * @copyright 2019, 2021 © by Rafał Wrzeszcz - Wrzasq.pl.
  6.  */

  7. package pl.wrzasq.commons.aws.messaging.sqs

  8. import com.amazonaws.services.lambda.runtime.events.SQSEvent

  9. /**
  10.  * SQS incoming event handler.
  11.  *
  12.  * @param messageHandler Message consumer.
  13.  */
  14. open class EventHandler(
  15.     private val messageHandler: (SQSEvent.SQSMessage) -> Unit
  16. ) {
  17.     /**
  18.      * Processes event message.
  19.      *
  20.      * @param event SQS message event message.
  21.      */
  22.     fun process(event: SQSEvent) {
  23.         event.records.forEach(messageHandler)
  24.     }
  25. }