Skip to content

Commit

Permalink
Merge pull request #11 from shenweijiekdel/main
Browse files Browse the repository at this point in the history
fix: gRPC interceptor
  • Loading branch information
shenweijiekdel committed Aug 14, 2023
2 parents 61f095e + 43eb6af commit ab1ae16
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
8 changes: 6 additions & 2 deletions goner/grpc/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ package gone_grpc
import (
"context"
"github.com/gone-io/gone"
"github.com/gone-io/gone/goner/logrus"
"github.com/gone-io/gone/goner/tracer"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"google.golang.org/grpc/metadata"
"reflect"
)

type Client interface {
Expand All @@ -16,6 +18,7 @@ type Client interface {

type ClientRegister struct {
gone.Goner
logrus.Logger `gone:"gone-logger"`
connections map[string]*grpc.ClientConn
clients []Client `gone:"*"`
tracer.Tracer `gone:"gone-tracer"`
Expand All @@ -38,7 +41,7 @@ func (s *ClientRegister) register(client Client) error {
if !ok {
c, err := grpc.Dial(client.Address(),
grpc.WithTransportCredentials(insecure.NewCredentials()),
grpc.WithUnaryInterceptor(s.TraceInterceptor()),
grpc.WithChainUnaryInterceptor(s.TraceInterceptor()),
)
if err != nil {
return err
Expand All @@ -54,6 +57,7 @@ func (s *ClientRegister) register(client Client) error {

func (s *ClientRegister) Start(gone.Cemetery) error {
for _, c := range s.clients {
s.Infof("register gRPC client %v on address %v\n", reflect.ValueOf(c).Type().String(), c.Address())
if err := s.register(c); err != nil {
return err
}
Expand All @@ -62,7 +66,7 @@ func (s *ClientRegister) Start(gone.Cemetery) error {
return nil
}

func (s ClientRegister) Stop(gone.Cemetery) error {
func (s *ClientRegister) Stop(gone.Cemetery) error {
for _, conn := range s.connections {
conn.Close()
}
Expand Down
10 changes: 8 additions & 2 deletions goner/grpc/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,20 @@ func (g Server) Start(gone.Cemetery) error {
return nil
}

if g.port == 0 {
g.port = 9090
}

lis, err := net.Listen("tcp", fmt.Sprintf(":%d", g.port))
if err != nil {
return fmt.Errorf("failed to listen: %v", err)
}

g.grpcServer = grpc.NewServer(
grpc.UnaryInterceptor(g.TraceInterceptor()),
grpc.UnaryInterceptor(g.RecoveryInterceptor()),
grpc.ChainUnaryInterceptor(
g.TraceInterceptor(),
g.RecoveryInterceptor(),
),
)

for _, grpcService := range g.grpcServices {
Expand Down

0 comments on commit ab1ae16

Please sign in to comment.