7 oldcontext "golang.org/x/net/context"
9 "github.com/go-kit/kit/endpoint"
10 grpctransport "github.com/go-kit/kit/transport/grpc"
11 "github.com/go-kit/kit/transport/grpc/_grpc_test/pb"
16 func (service) Test(ctx context.Context, a string, b int64) (context.Context, string, error) {
17 return nil, fmt.Sprintf("%s = %d", a, b), nil
20 func NewService() Service {
24 func makeTestEndpoint(svc Service) endpoint.Endpoint {
25 return func(ctx context.Context, request interface{}) (interface{}, error) {
26 req := request.(TestRequest)
27 newCtx, v, err := svc.Test(ctx, req.A, req.B)
35 type serverBinding struct {
36 test grpctransport.Handler
39 func (b *serverBinding) Test(ctx oldcontext.Context, req *pb.TestRequest) (*pb.TestResponse, error) {
40 _, response, err := b.test.ServeGRPC(ctx, req)
44 return response.(*pb.TestResponse), nil
47 func NewBinding(svc Service) *serverBinding {
48 return &serverBinding{
49 test: grpctransport.NewServer(
50 makeTestEndpoint(svc),
53 grpctransport.ServerBefore(
56 grpctransport.ServerBefore(
57 displayServerRequestHeaders,
59 grpctransport.ServerAfter(
61 injectResponseTrailer,
62 injectConsumedCorrelationID,
64 grpctransport.ServerAfter(
65 displayServerResponseHeaders,
66 displayServerResponseTrailers,