46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package session_clientgrpc
 | |
| 
 | |
| import (
 | |
| 	context "context"
 | |
| 
 | |
| 	jwt "github.com/go-kit/kit/auth/jwt"
 | |
| 	"github.com/go-kit/kit/endpoint"
 | |
| 	"github.com/go-kit/kit/log"
 | |
| 	grpctransport "github.com/go-kit/kit/transport/grpc"
 | |
| 	"google.golang.org/grpc"
 | |
| 
 | |
| 	endpoints "moul.io/protoc-gen-gotemplate/examples/go-kit/services/session/gen/endpoints"
 | |
| 	pb "moul.io/protoc-gen-gotemplate/examples/go-kit/services/session/gen/pb"
 | |
| )
 | |
| 
 | |
| func New(conn *grpc.ClientConn, logger log.Logger) pb.SessionServiceServer {
 | |
| 
 | |
| 	var loginEndpoint endpoint.Endpoint
 | |
| 	{
 | |
| 		loginEndpoint = grpctransport.NewClient(
 | |
| 			conn,
 | |
| 			"session.SessionService",
 | |
| 			"Login",
 | |
| 			EncodeLoginRequest,
 | |
| 			DecodeLoginResponse,
 | |
| 			pb.LoginResponse{},
 | |
| 			append([]grpctransport.ClientOption{}, grpctransport.ClientBefore(jwt.FromGRPCContext()))...,
 | |
| 		).Endpoint()
 | |
| 	}
 | |
| 
 | |
| 	return &endpoints.Endpoints{
 | |
| 
 | |
| 		LoginEndpoint: loginEndpoint,
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func EncodeLoginRequest(_ context.Context, request interface{}) (interface{}, error) {
 | |
| 	req := request.(*pb.LoginRequest)
 | |
| 	return req, nil
 | |
| }
 | |
| 
 | |
| func DecodeLoginResponse(_ context.Context, grpcResponse interface{}) (interface{}, error) {
 | |
| 	response := grpcResponse.(*pb.LoginResponse)
 | |
| 	return response, nil
 | |
| }
 |