micro-client-grpc/message.go

45 lines
857 B
Go
Raw Permalink Normal View History

2019-06-03 20:44:43 +03:00
package grpc
import (
"go.unistack.org/micro/v3/client"
"go.unistack.org/micro/v3/metadata"
2019-06-03 20:44:43 +03:00
)
2019-07-07 14:44:09 +03:00
type grpcEvent struct {
payload interface{}
2019-06-03 20:44:43 +03:00
topic string
contentType string
opts client.MessageOptions
2019-06-03 20:44:43 +03:00
}
2019-07-07 14:44:09 +03:00
func newGRPCEvent(topic string, payload interface{}, contentType string, opts ...client.MessageOption) client.Message {
options := client.NewMessageOptions(opts...)
2019-06-03 20:44:43 +03:00
if len(options.ContentType) > 0 {
contentType = options.ContentType
}
2019-07-07 14:44:09 +03:00
return &grpcEvent{
2019-06-03 20:44:43 +03:00
payload: payload,
topic: topic,
contentType: contentType,
opts: options,
2019-06-03 20:44:43 +03:00
}
}
2019-07-07 14:44:09 +03:00
func (g *grpcEvent) ContentType() string {
2019-06-03 20:44:43 +03:00
return g.contentType
}
2019-07-07 14:44:09 +03:00
func (g *grpcEvent) Topic() string {
2019-06-03 20:44:43 +03:00
return g.topic
}
2019-07-07 14:44:09 +03:00
func (g *grpcEvent) Payload() interface{} {
2019-06-03 20:44:43 +03:00
return g.payload
}
func (g *grpcEvent) Metadata() metadata.Metadata {
return g.opts.Metadata
}