Add go-kit client
This commit is contained in:
		@@ -0,0 +1,56 @@
 | 
				
			|||||||
 | 
					package {{.File.Package}}_clientgrpc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"github.com/go-kit/kit/log"
 | 
				
			||||||
 | 
						context "golang.org/x/net/context"
 | 
				
			||||||
 | 
					        "google.golang.org/grpc"
 | 
				
			||||||
 | 
					        grpctransport "github.com/go-kit/kit/transport/grpc"
 | 
				
			||||||
 | 
					        "github.com/go-kit/kit/endpoint"
 | 
				
			||||||
 | 
					        jwt "github.com/go-kit/kit/auth/jwt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        pb "{{cat .GoPWD "/" .DestinationDir | nospace | clean}}/pb"
 | 
				
			||||||
 | 
					        endpoints "{{cat .GoPWD "/" .DestinationDir | nospace | clean}}/endpoints"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{$file:=.File}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func New(conn *grpc.ClientConn, logger log.Logger) pb.{{.File.Package | title}}ServiceServer {
 | 
				
			||||||
 | 
					        {{range .Service.Method}}
 | 
				
			||||||
 | 
							{{if and (not .ServerStreaming) (not .ClientStreaming)}}
 | 
				
			||||||
 | 
								var {{.Name | lower}}Endpoint endpoint.Endpoint
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									{{.Name | lower}}Endpoint = grpctransport.NewClient(
 | 
				
			||||||
 | 
										conn,
 | 
				
			||||||
 | 
										"{{$file.Package}}.{{$file.Package | title}}Service",
 | 
				
			||||||
 | 
										"{{.Name}}",
 | 
				
			||||||
 | 
										Encode{{.Name}}Request,
 | 
				
			||||||
 | 
										Decode{{.Name}}Response,
 | 
				
			||||||
 | 
										pb.{{.Name}}Response{},
 | 
				
			||||||
 | 
										append([]grpctransport.ClientOption{}, grpctransport.ClientBefore(jwt.FromGRPCContext()))...,
 | 
				
			||||||
 | 
									).Endpoint()
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							{{end}}
 | 
				
			||||||
 | 
					        {{end}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return &endpoints.Endpoints {
 | 
				
			||||||
 | 
					                {{range .Service.Method}}
 | 
				
			||||||
 | 
								{{if and (not .ServerStreaming) (not .ClientStreaming)}}
 | 
				
			||||||
 | 
									{{.Name | title}}Endpoint: {{.Name  | lower}}Endpoint,
 | 
				
			||||||
 | 
								{{end}}
 | 
				
			||||||
 | 
					                {{end}}
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{range .Service.Method}}
 | 
				
			||||||
 | 
						{{if and (not .ServerStreaming) (not .ClientStreaming)}}
 | 
				
			||||||
 | 
							func Encode{{.Name}}Request(_ context.Context, request interface{}) (interface{}, error) {
 | 
				
			||||||
 | 
								req := request.(*pb.{{.Name}}Request)
 | 
				
			||||||
 | 
								return req, nil
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							func Decode{{.Name}}Response(_ context.Context, grpcResponse interface{}) (interface{}, error) {
 | 
				
			||||||
 | 
								response := grpcResponse.(*pb.{{.Name}}Response)
 | 
				
			||||||
 | 
								return response, nil
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						{{end}}
 | 
				
			||||||
 | 
					{{end}}
 | 
				
			||||||
@@ -6,9 +6,10 @@ import (
 | 
				
			|||||||
        "fmt"
 | 
					        "fmt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	context "golang.org/x/net/context"
 | 
						context "golang.org/x/net/context"
 | 
				
			||||||
 | 
						grpctransport "github.com/go-kit/kit/transport/grpc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        pb "{{cat .GoPWD "/" .DestinationDir | nospace | clean}}/pb"
 | 
					        pb "{{cat .GoPWD "/" .DestinationDir | nospace | clean}}/pb"
 | 
				
			||||||
        endpoints "{{cat .GoPWD "/" .DestinationDir | nospace | clean}}/endpoints"
 | 
					        endpoints "{{cat .GoPWD "/" .DestinationDir | nospace | clean}}/endpoints"
 | 
				
			||||||
	grpctransport "github.com/go-kit/kit/transport/grpc"
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// avoid import errors
 | 
					// avoid import errors
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user