micro-client-http/message.go

45 lines
871 B
Go
Raw Permalink Normal View History

2017-01-01 18:39:05 +00:00
package http
import (
"go.unistack.org/micro/v3/client"
"go.unistack.org/micro/v3/metadata"
2017-01-01 18:39:05 +00:00
)
2018-04-17 11:26:18 +01:00
type httpMessage struct {
payload interface{}
2017-01-01 18:39:05 +00:00
topic string
contentType string
opts client.MessageOptions
2017-01-01 18:39:05 +00:00
}
2018-05-10 17:38:14 +01:00
func newHTTPMessage(topic string, payload interface{}, contentType string, opts ...client.MessageOption) client.Message {
options := client.NewMessageOptions(opts...)
if len(options.ContentType) > 0 {
contentType = options.ContentType
2018-05-10 17:38:14 +01:00
}
2018-04-17 11:26:18 +01:00
return &httpMessage{
payload: payload,
2017-01-01 18:39:05 +00:00
topic: topic,
contentType: contentType,
opts: options,
2017-01-01 18:39:05 +00:00
}
}
2018-04-17 11:26:18 +01:00
func (h *httpMessage) ContentType() string {
2017-01-01 18:39:05 +00:00
return h.contentType
}
2018-04-17 11:26:18 +01:00
func (h *httpMessage) Topic() string {
2017-01-01 18:39:05 +00:00
return h.topic
}
2018-04-17 11:26:18 +01:00
func (h *httpMessage) Payload() interface{} {
return h.payload
2017-01-01 18:39:05 +00:00
}
func (h *httpMessage) Metadata() metadata.Metadata {
return h.opts.Metadata
}