fix:server start panic when use Endpoint (#1491)

* fix:server start panic when use Endpoint

* fix test

* fix lint
pull/1492/head
seasrain 3 years ago committed by GitHub
parent 09969457e2
commit 55e00ce9f3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      transport/grpc/server.go
  2. 9
      transport/grpc/server_test.go

@ -89,13 +89,6 @@ func Options(opts ...grpc.ServerOption) ServerOption {
} }
} }
// Endpoint with server endpoint.
func Endpoint(endpoint *url.URL) ServerOption {
return func(o *Server) {
o.endpoint = endpoint
}
}
// Server is a gRPC server wrapper. // Server is a gRPC server wrapper.
type Server struct { type Server struct {
*grpc.Server *grpc.Server
@ -158,9 +151,6 @@ func NewServer(opts ...ServerOption) *Server {
// grpc://127.0.0.1:9000?isSecure=false // grpc://127.0.0.1:9000?isSecure=false
func (s *Server) Endpoint() (*url.URL, error) { func (s *Server) Endpoint() (*url.URL, error) {
s.once.Do(func() { s.once.Do(func() {
if s.endpoint != nil {
return
}
lis, err := net.Listen(s.network, s.address) lis, err := net.Listen(s.network, s.address)
if err != nil { if err != nil {
s.err = err s.err = err

@ -82,15 +82,6 @@ func TestMiddleware(t *testing.T) {
assert.Equal(t, v, o.middleware) assert.Equal(t, v, o.middleware)
} }
func TestEndpoint(t *testing.T) {
u, err := url.Parse("grpc://hello/world")
assert.NoError(t, err)
o := &Server{}
Endpoint(u)(o)
assert.Equal(t, "hello", o.endpoint.Host)
assert.Equal(t, "grpc", o.endpoint.Scheme)
}
type mockLogger struct { type mockLogger struct {
level log.Level level log.Level
key string key string

Loading…
Cancel
Save