forked from devimteam/microgen
-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.microgen.go
64 lines (56 loc) · 2.23 KB
/
server.microgen.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
// Code generated by microgen 0.9.0. DO NOT EDIT.
package transport
import (
"context"
generated "github.com/devimteam/microgen/examples/generated"
endpoint "github.com/go-kit/kit/endpoint"
opentracing "github.com/go-kit/kit/tracing/opentracing"
opentracinggo "github.com/opentracing/opentracing-go"
)
func Endpoints(svc generated.StringService) EndpointsSet {
return EndpointsSet{
CountEndpoint: CountEndpoint(svc),
DummyMethodEndpoint: DummyMethodEndpoint(svc),
TestCaseEndpoint: TestCaseEndpoint(svc),
UppercaseEndpoint: UppercaseEndpoint(svc),
}
}
// TraceServerEndpoints is used for tracing endpoints on server side.
func TraceServerEndpoints(endpoints EndpointsSet, tracer opentracinggo.Tracer) EndpointsSet {
return EndpointsSet{
CountEndpoint: opentracing.TraceServer(tracer, "Count")(endpoints.CountEndpoint),
DummyMethodEndpoint: opentracing.TraceServer(tracer, "DummyMethod")(endpoints.DummyMethodEndpoint),
TestCaseEndpoint: opentracing.TraceServer(tracer, "TestCase")(endpoints.TestCaseEndpoint),
UppercaseEndpoint: opentracing.TraceServer(tracer, "Uppercase")(endpoints.UppercaseEndpoint),
}
}
func UppercaseEndpoint(svc generated.StringService) endpoint.Endpoint {
return func(arg0 context.Context, request interface{}) (interface{}, error) {
req := request.(*UppercaseRequest)
res0, res1 := svc.Uppercase(arg0, req.StringsMap)
return &UppercaseResponse{Ans: res0}, res1
}
}
func CountEndpoint(svc generated.StringService) endpoint.Endpoint {
return func(arg0 context.Context, request interface{}) (interface{}, error) {
req := request.(*CountRequest)
res0, res1, res2 := svc.Count(arg0, req.Text, req.Symbol)
return &CountResponse{
Count: res0,
Positions: res1,
}, res2
}
}
func TestCaseEndpoint(svc generated.StringService) endpoint.Endpoint {
return func(arg0 context.Context, request interface{}) (interface{}, error) {
req := request.(*TestCaseRequest)
res0, res1 := svc.TestCase(arg0, req.Comments)
return &TestCaseResponse{Tree: res0}, res1
}
}
func DummyMethodEndpoint(svc generated.StringService) endpoint.Endpoint {
return func(arg0 context.Context, request interface{}) (interface{}, error) {
res0 := svc.DummyMethod(arg0)
return &DummyMethodResponse{}, res0
}
}