Skip to content

Commit

Permalink
fix: barry 2024-07-26 01:10:27
Browse files Browse the repository at this point in the history
kooksee committed Jul 25, 2024
1 parent 1aa8b6b commit 08409d4
Showing 18 changed files with 600 additions and 125 deletions.
11 changes: 5 additions & 6 deletions clients/grpcc/grpcc_config/config.go
Original file line number Diff line number Diff line change
@@ -3,10 +3,9 @@ package grpcc_config
import (
"time"

"github.com/pubgo/lava/clients/grpcc/grpcc_resolver"
"google.golang.org/grpc"
"google.golang.org/grpc/resolver"

"github.com/pubgo/lava/clients/grpcc/grpcc_resolver"
)

const (
@@ -57,20 +56,20 @@ func DefaultCfg() *Cfg {
MaxHeaderListSize: 1024 * 4,
MaxRecvMsgSize: 1024 * 1024 * 4,
// refer: https://github.com/grpc/grpc-go/blob/master/examples/features/keepalive/client/main.go
ClientParameters: clientParameters{
ClientParameters: ClientParameters{
PermitWithoutStream: true, // send pings even without active streams
Time: 10 * time.Second, // send pings every 10 seconds if there is no activity
Timeout: 5 * time.Second, // wait 2 second for ping ack before considering the connection dead
},
ConnectParams: connectParams{
Backoff: backoffConfig{
ConnectParams: ConnectParams{
Backoff: BackoffConfig{
Multiplier: 1.6,
Jitter: 0.2,
BaseDelay: 1.0 * time.Second,
MaxDelay: 120 * time.Second,
},
},
Call: callParameters{
Call: CallParameters{
MaxCallRecvMsgSize: 1024 * 1024 * 4,
// DefaultMaxSendMsgSize maximum message that Service can send (4 MB).
MaxCallSendMsgSize: 1024 * 1024 * 4,
22 changes: 11 additions & 11 deletions clients/grpcc/grpcc_config/grpc.go
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@ import (
"google.golang.org/grpc/keepalive"
)

type callParameters struct {
type CallParameters struct {
Header map[string]string `json:"header"`
Trailer map[string]string `json:"trailer"`
WaitForReady bool `json:"wait_for_ready"`
@@ -23,34 +23,34 @@ type callParameters struct {
MaxRetryRPCBufferSize int `json:"max_retry_rpc_buffer_size"`
}

type clientParameters struct {
type ClientParameters struct {
PermitWithoutStream bool `json:"permit_without_stream"`
Time time.Duration `json:"time"`
Timeout time.Duration `json:"timeout"`
}

func (t clientParameters) toClientParameters() keepalive.ClientParameters {
func (t ClientParameters) toClientParameters() keepalive.ClientParameters {
return keepalive.ClientParameters{
PermitWithoutStream: t.PermitWithoutStream,
Time: t.Time,
Timeout: t.Timeout,
}
}

// backoffConfig defines the configuration options for backoff.
type backoffConfig struct {
// BackoffConfig defines the configuration options for backoff.
type BackoffConfig struct {
BaseDelay time.Duration `json:"base_delay"`
Multiplier float64 `json:"multiplier"`
Jitter float64 `json:"jitter"`
MaxDelay time.Duration `json:"max_delay"`
}

type connectParams struct {
Backoff backoffConfig `json:"backoff"`
type ConnectParams struct {
Backoff BackoffConfig `json:"backoff"`
MinConnectTimeout time.Duration `json:"min_connect_timeout"`
}

func (t connectParams) toConnectParams() grpc.ConnectParams {
func (t ConnectParams) toConnectParams() grpc.ConnectParams {
return grpc.ConnectParams{
Backoff: backoff.Config{
BaseDelay: t.Backoff.BaseDelay,
@@ -92,9 +92,9 @@ type GrpcClientCfg struct {
MaxRecvMsgSize int `json:"max_recv_msg_size"`
NoProxy bool `json:"no_proxy"`
Proxy bool `json:"proxy"`
ConnectParams connectParams `json:"connect_params"`
ClientParameters clientParameters `json:"client_parameters"`
Call callParameters `json:"call"`
ConnectParams ConnectParams `json:"connect_params"`
ClientParameters ClientParameters `json:"client_parameters"`
Call CallParameters `json:"call"`
}

func (t GrpcClientCfg) ToOpts() []grpc.DialOption {
4 changes: 2 additions & 2 deletions cmds/app/cmd.go
Original file line number Diff line number Diff line change
@@ -28,7 +28,7 @@ import (
"github.com/pubgo/lava/internal/middlewares/middleware_metric"
"github.com/pubgo/lava/pkg/cmdutil"
"github.com/pubgo/lava/services/errorservice"
"github.com/pubgo/lava/services/metadata"
"github.com/pubgo/lava/services/metadataservice"

_ "github.com/pubgo/lava/core/debug/debug"
// debug
@@ -69,7 +69,7 @@ var defaultProviders = []any{
lifecycle.New,
scheduler.New,

metadata.New,
metadataservice.New,
errorservice.New,
}

2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -57,12 +57,12 @@ require (
github.com/google/uuid v1.6.0
github.com/gorilla/websocket v1.5.1
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1
github.com/joho/godotenv v1.5.1
github.com/keybase/go-ps v0.0.0-20190827175125-91aafc93ba19
github.com/libp2p/go-yamux/v4 v4.0.1
github.com/logdyhq/logdy-core v0.13.0
github.com/maragudk/gomponents v0.20.0
github.com/mattheath/kala v0.0.0-20171219141654-d6276794bf0e
github.com/mwitkow/grpc-proxy v0.0.0-20230212185441-f345521cb9c9
github.com/prometheus/common v0.48.0
github.com/pubgo/dix v0.3.17
github.com/pubgo/funk v0.5.48
19 changes: 2 additions & 17 deletions go.sum
Original file line number Diff line number Diff line change
@@ -114,7 +114,6 @@ github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDD
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.12.0 h1:4X+VP1GHd1Mhj6IB5mMeGbLCleqxjletLK6K0rbxyZI=
github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0=
@@ -217,8 +216,6 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/gnostic-models v0.6.9-0.20230804172637-c7be7c783f49 h1:0VpGH+cDhbDtdcweoyCVsF3fhN8kejK6rFe/2FFX2nU=
@@ -331,6 +328,8 @@ github.com/jinzhu/now v1.1.2/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/
github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0=
github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
@@ -443,8 +442,6 @@ github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/mwitkow/grpc-proxy v0.0.0-20230212185441-f345521cb9c9 h1:62uLwA3l2JMH84liO4ZhnjTH5PjFyCYxbHLgXPaJMtI=
github.com/mwitkow/grpc-proxy v0.0.0-20230212185441-f345521cb9c9/go.mod h1:MvMXoufZAtqExNexqi4cjrNYE9MefKddKylxjS+//n0=
github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY=
github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc=
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
@@ -673,7 +670,6 @@ golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTk
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
@@ -699,8 +695,6 @@ golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLL
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
golang.org/x/net v0.0.0-20210331212208-0fccb6fa2b5c/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
@@ -740,12 +734,8 @@ golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210331175145-43e1dd70ce54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -791,10 +781,8 @@ golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtn
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg=
@@ -812,7 +800,6 @@ google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoA
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/genproto v0.0.0-20210401141331-865547bb08e2/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY=
google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo=
google.golang.org/genproto/googleapis/api v0.0.0-20240521202816-d264139d666e h1:SkdGTrROJl2jRGT/Fxv5QUf9jtdKCQh4KQJXbXVLAi0=
@@ -824,7 +811,6 @@ google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyac
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY=
google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg=
@@ -898,4 +884,3 @@ gotest.tools/v3 v3.5.0/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las=
4 changes: 2 additions & 2 deletions internal/example/grpc/Makefile
Original file line number Diff line number Diff line change
@@ -13,10 +13,10 @@ LDFLAGS=-ldflags " \
"

run_proxy:
enable_debug=true go run ${LDFLAGS} -v main_proxy.go grpc
enable_debug=true server_grpc_port=50052 server_http_port=8081 go run ${LDFLAGS} -v main_proxy.go grpc

run:
enable_debug=true server_grpc_port=50052 server_http_port=8081 go run ${LDFLAGS} -v main.go grpc
enable_debug=true server_grpc_port=50051 server_http_port=8080 go run ${LDFLAGS} -v main.go grpc

.PHONY: build
build-gid:
1 change: 1 addition & 0 deletions internal/example/grpc/docs/api.http
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
###
GET http://localhost:8080/gid/gw/v1/id/types/hello/111
Content-Type: application/json

###

Original file line number Diff line number Diff line change
@@ -3,9 +3,7 @@ package gid_handler
import (
"context"
"fmt"
"google.golang.org/grpc/credentials/insecure"

"github.com/pubgo/funk/assert"
"github.com/pubgo/lava/internal/example/grpc/pkg/proto/gidpb"
"github.com/pubgo/lava/lava"
"google.golang.org/grpc"
@@ -38,6 +36,7 @@ func (i IdProxy) Middlewares() []lava.Middleware {

func (i IdProxy) ServiceDesc() *grpc.ServiceDesc { return &gidpb.IdProxy_ServiceDesc }

func (i IdProxy) Proxy() grpc.ClientConnInterface {
return assert.Must1(grpc.NewClient("localhost:50051", grpc.WithTransportCredentials(insecure.NewCredentials())))
func (i IdProxy) Proxy() lava.ProxyCfg {
//return assert.Must1(grpc.NewClient("localhost:50051", grpc.WithTransportCredentials(insecure.NewCredentials())))
return lava.ProxyCfg{Addr: "localhost:50052"}
}
3 changes: 3 additions & 0 deletions internal/example/grpc/main.go
Original file line number Diff line number Diff line change
@@ -2,13 +2,16 @@ package main

import (
"context"
"github.com/pubgo/funk/env"

_ "github.com/joho/godotenv"
"github.com/pubgo/funk/log"
_ "github.com/pubgo/lava/core/debug/logdy"
"github.com/pubgo/lava/internal/example/grpc/internal/bootstrap"
)

func main() {

Check failure on line 13 in internal/example/grpc/main.go

GitHub Actions / test

other declaration of main

Check failure on line 13 in internal/example/grpc/main.go

GitHub Actions / test

other declaration of main
env.Get()
log.SetEnableChecker(func(ctx context.Context, lvl log.Level, nameOrMessage string, fields log.Map) bool {
//if nameOrMessage == "eval type value" {
// return false
11 changes: 10 additions & 1 deletion lava/router.go
Original file line number Diff line number Diff line change
@@ -8,9 +8,18 @@ import (
"google.golang.org/grpc"
)

type ProxyCfg struct {
// Name service name
Name string `yaml:"name"`
// Addr service address
Addr string `yaml:"addr"`
// Resolver service resolver, default direct
Resolver string `yaml:"resolver"`
}

type GrpcProxy interface {
GrpcRouter
Proxy() grpc.ClientConnInterface
Proxy() ProxyCfg
}

type GrpcRouter interface {
Loading

0 comments on commit 08409d4

Please sign in to comment.