-
Notifications
You must be signed in to change notification settings - Fork 67
/
grpc.go
79 lines (66 loc) 路 1.81 KB
/
grpc.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package mappings
import (
"github.com/kubeshop/tracetest/server/openapi"
"github.com/kubeshop/tracetest/server/test/trigger"
)
// out
func (m OpenAPI) GRPCRequest(in *trigger.GRPCRequest) openapi.GrpcRequest {
if in == nil {
return openapi.GrpcRequest{}
}
return openapi.GrpcRequest{
ProtobufFile: in.ProtobufFile,
Address: in.Address,
Service: in.Service,
Method: in.Method,
Metadata: m.GRPCMetadata(in.Metadata),
Auth: m.Auth(in.Auth),
Request: in.Request,
}
}
func (m OpenAPI) GRPCResponse(in *trigger.GRPCResponse) openapi.GrpcResponse {
if in == nil {
return openapi.GrpcResponse{}
}
return openapi.GrpcResponse{
StatusCode: int32(in.StatusCode),
Metadata: m.GRPCMetadata(in.Metadata),
Body: in.Body,
}
}
func (m OpenAPI) GRPCMetadata(in []trigger.GRPCHeader) []openapi.GrpcHeader {
headers := make([]openapi.GrpcHeader, len(in))
for i, h := range in {
headers[i] = openapi.GrpcHeader{Key: h.Key, Value: h.Value}
}
return headers
}
//in
func (m Model) GRPCHeaders(in []openapi.GrpcHeader) []trigger.GRPCHeader {
headers := make([]trigger.GRPCHeader, len(in))
for i, h := range in {
headers[i] = trigger.GRPCHeader{Key: h.Key, Value: h.Value}
}
return headers
}
func (m Model) GRPCRequest(in openapi.GrpcRequest) *trigger.GRPCRequest {
// ignore unset grpc requests
if in.Address == "" {
return nil
}
return &trigger.GRPCRequest{
ProtobufFile: in.ProtobufFile,
Address: in.Address,
Method: in.Method,
Metadata: m.GRPCHeaders(in.Metadata),
Auth: m.Auth(in.Auth),
Request: in.Request,
}
}
func (m Model) GRPCResponse(in openapi.GrpcResponse) *trigger.GRPCResponse {
return &trigger.GRPCResponse{
StatusCode: int(in.StatusCode),
Metadata: m.GRPCHeaders(in.Metadata),
Body: in.Body,
}
}