func (self *rawMessage) Message() (m *Message, err os.Error) { m = &Message{ ReceiptHandle: self.ReceiptHandle, MD5OfBody: self.MD5OfBody, Attributes: map[string]string{}, } m.MessageId, err = uuid.Parse(self.MessageId) if err != nil { return } for i := range self.Attribute { m.Attributes[self.Attribute[i].Name] = self.Attribute[i].Value } bbuff := bytes.NewBufferString(self.Body) m.Body = bbuff.Bytes() return }
// Pushes the raw bytes into SQS, returning the message UUID. // // NB, we don't do any verification of the MD5 func (self *Queue) Push(id cryptools.NamedSigner, body []byte) (msgid *uuid.UUID, err os.Error) { sqsReq, err := self.signedRequest(id, map[string]string{ "Action": "SendMessage", "MessageBody": string(body), }) if err != nil { return } xresp := &sendMessageResponse{} xerr := &errorResponse{} err = self.Endpoint.SendParsable(sqsReq, xresp, xerr) if err != nil { return } msgid, err = uuid.Parse(xresp.SendMessageResult.MessageId) return }