package brokeradapter

import "github.com/streadway/amqp"

// A Message describes a standard message queue message within the service
type Message struct {
	Headers map[string]interface{}
	Body    []byte
}

// An Gateway converts AMQP formats to universal formats
type Gateway struct {
}

// CreateGateway creates a gateway
func CreateGateway() *Gateway {
	return &Gateway{}
}

// TransformMessage transforms an AMQP delivery into a general format
func (a *Gateway) TransformMessage(msg amqp.Delivery) *Message {
	return &Message{
		Headers: (map[string]interface{})(msg.Headers),
		Body:    msg.Body,
	}
}