Skip to content

Commit

Permalink
#2: Using receipts in the sqs interface
Browse files Browse the repository at this point in the history
  • Loading branch information
adamw committed Dec 6, 2012
1 parent 27f11c3 commit 4e567d8
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,6 @@ trait NativeMessageModule {

def created = data.created

def lastDeliveryReceipt = None
def lastDeliveryReceipt = data.deliveryReceipt
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ import org.jboss.netty.handler.codec.http.HttpMethod._

import Constants._
import org.elasticmq.rest.sqs.ActionUtil._
import org.elasticmq.MessageId
import org.elasticmq.DeliveryReceipt

trait DeleteMessageHandlerModule { this: ClientModule with RequestHandlerLogicModule =>
val deleteMessageLogic = logicWithQueue((queue, request, parameters) => {
val id = parameters(ReceiptHandleParameter)
val messageOption = queue.lookupMessage(MessageId(id))
val receipt = parameters(ReceiptHandleParameter)
val messageOption = queue.lookupMessage(DeliveryReceipt(receipt))
// No failure even if the message doesn't exist
messageOption.foreach(_.delete())

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,10 @@ trait ReceiveMessageHandlerModule { this: ClientModule with RequestHandlerLogicM
<ReceiveMessageResponse>
<ReceiveMessageResult>
{msgWithStats.map { case (msg, stats) =>
val receipt = msg.lastDeliveryReceipt.map(_.receipt).getOrElse(throw new RuntimeException("No receipt for a received message."))
<Message>
<MessageId>{msg.id.id}</MessageId>
<ReceiptHandle>{msg.id.id}</ReceiptHandle>
<ReceiptHandle>{receipt}</ReceiptHandle>
<MD5OfBody>{md5Digest(msg.content)}</MD5OfBody>
<Body>{XmlUtil.convertTexWithCRToNodeSeq(msg.content)}</Body>
{attributesToXmlConverter.convert(calculateAttributeValues(msg, stats))}
Expand Down

0 comments on commit 4e567d8

Please sign in to comment.