All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.elasticmq.rest.sqs.DeleteMessageBatchDirectives.scala Maven / Gradle / Ivy

package org.elasticmq.rest.sqs

import Constants._
import org.elasticmq.DeliveryReceipt
import org.elasticmq.msg.DeleteMessage
import org.elasticmq.actor.reply._
import org.elasticmq.rest.sqs.directives.ElasticMQDirectives

trait DeleteMessageBatchDirectives {
  this: ElasticMQDirectives with BatchRequestsModule =>
  def deleteMessageBatch(p: AnyParams) = {
    p.action("DeleteMessageBatch") {
      queueActorFromRequest(p) { queueActor =>
        val resultsFuture = batchRequest("DeleteMessageBatchRequestEntry", p) { (messageData, id, _) =>
          val receiptHandle = messageData(ReceiptHandleParameter)
          val result = queueActor ? DeleteMessage(DeliveryReceipt(receiptHandle))

          result.map { _ =>
            
              {id}
            
          }
        }

        resultsFuture.map { results =>
          respondWith {
            
              
                {results}
              
              
                {EmptyRequestId}
              
            
          }
        }
      }
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy