func buildSimpleMessage()

in plugin/protocol/cloudevents/cloudevents.go [182:215]


func buildSimpleMessage(evt *v2.Event) (*grpc.SimpleMessageWrapper, error) {
	ct, err := datacodec.Encode(context.TODO(), evt.DataContentType(), evt)
	if err != nil {
		return nil, err
	}
	hdr := &pb.RequestHeader{
		Env:             defaultIfNil("env", evt.Extensions()[grpc.ENV]),
		Idc:             defaultIfNil("idc", evt.Extensions()[grpc.IDC]),
		Ip:              defaultIfNil("127.0.0.1", evt.Extensions()[grpc.IP]),
		Pid:             defaultIfNil("123", evt.Extensions()[grpc.PID]),
		Sys:             defaultIfNil("sys123", evt.Extensions()[grpc.SYS]),
		Username:        defaultIfNil("user", evt.Extensions()[grpc.USERNAME]),
		Password:        defaultIfNil("pass", evt.Extensions()[grpc.PASSWD]),
		Language:        defaultIfNil("JAVA", evt.Extensions()[grpc.LANGUAGE]),
		ProtocolType:    defaultIfNil("protocol", evt.Extensions()[grpc.PROTOCOL_TYPE]),
		ProtocolDesc:    defaultIfNil("protocolDesc", evt.Extensions()[grpc.PROTOCOL_DESC]),
		ProtocolVersion: defaultIfNil("1.0", evt.Extensions()[grpc.PROTOCOL_VERSION]),
	}
	msg := &pb.SimpleMessage{
		Header:        hdr,
		Content:       string(ct),
		ProducerGroup: defaultIfNil("producerGroup", evt.Extensions()[grpc.PRODUCERGROUP]),
		SeqNum:        defaultIfNil("", evt.Extensions()[grpc.SEQ_NUM]),
		UniqueId:      defaultIfNil("", evt.Extensions()[grpc.UNIQUE_ID]),
		Topic:         evt.Subject(),
		Ttl:           defaultIfNil("3000", evt.Extensions()[grpc.TTL]),
		Properties:    map[string]string{grpc.CONTENT_TYPE: evt.DataContentType()},
	}
	for k, v := range evt.Extensions() {
		msg.Properties[k] = defaultIfNil("", v)
	}

	return &grpc.SimpleMessageWrapper{SimpleMessage: msg}, nil
}