| 123456789101112131415161718192021222324252627282930313233 | 
							- package main
 
- import (
 
- 	"context"
 
- 	"github.com/go-kit/kit/transport/grpc"
 
- 	"github.com/longjoy/micro-go-course/section35/zipkin-kit/client"
 
- 	"github.com/longjoy/micro-go-course/section35/zipkin-kit/pb"
 
- 	"github.com/longjoy/micro-go-course/section35/zipkin-kit/string-service/endpoint"
 
- )
 
- type grpcServer struct {
 
- 	diff grpc.Handler
 
- }
 
- func (s *grpcServer) Diff(ctx context.Context, r *pb.StringRequest) (*pb.StringResponse, error) {
 
- 	_, resp, err := s.diff.ServeGRPC(ctx, r)
 
- 	if err != nil {
 
- 		return nil, err
 
- 	}
 
- 	return resp.(*pb.StringResponse), nil
 
- }
 
- func NewGRPCServer(ctx context.Context, endpoints endpoint.StringEndpoints, serverTracer grpc.ServerOption) pb.StringServiceServer {
 
- 	return &grpcServer{
 
- 		diff: grpc.NewServer(
 
- 			endpoints.StringEndpoint,
 
- 			client.DecodeGRPCStringRequest,
 
- 			client.EncodeGRPCStringResponse,
 
- 			serverTracer,
 
- 		),
 
- 	}
 
- }
 
 
  |