1
0
mirror of https://github.com/go-micro/go-micro.git synced 2024-12-12 08:23:58 +02:00
go-micro/plugins/client/grpc/message.go

41 lines
718 B
Go
Raw Normal View History

2019-06-03 19:44:43 +02:00
package grpc
import (
2021-01-20 23:01:10 +02:00
"github.com/asim/go-micro/v3/client"
2019-06-03 19:44:43 +02:00
)
2019-07-07 13:44:09 +02:00
type grpcEvent struct {
2019-06-03 19:44:43 +02:00
topic string
contentType string
payload interface{}
}
2019-07-07 13:44:09 +02:00
func newGRPCEvent(topic string, payload interface{}, contentType string, opts ...client.MessageOption) client.Message {
2019-06-03 19:44:43 +02:00
var options client.MessageOptions
for _, o := range opts {
o(&options)
}
if len(options.ContentType) > 0 {
contentType = options.ContentType
}
2019-07-07 13:44:09 +02:00
return &grpcEvent{
2019-06-03 19:44:43 +02:00
payload: payload,
topic: topic,
contentType: contentType,
}
}
2019-07-07 13:44:09 +02:00
func (g *grpcEvent) ContentType() string {
2019-06-03 19:44:43 +02:00
return g.contentType
}
2019-07-07 13:44:09 +02:00
func (g *grpcEvent) Topic() string {
2019-06-03 19:44:43 +02:00
return g.topic
}
2019-07-07 13:44:09 +02:00
func (g *grpcEvent) Payload() interface{} {
2019-06-03 19:44:43 +02:00
return g.payload
}