Skip to content

Commit 607f385

Browse files
EricGusmaoaldas
authored andcommitted
use ListenConfig for StartConfig listeners
1 parent 492ebd7 commit 607f385

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

server.go

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
package echo
55

66
import (
7+
"cmp"
78
stdContext "context"
89
"crypto/tls"
910
"errors"
@@ -117,19 +118,17 @@ func (sc StartConfig) start(ctx stdContext.Context, h http.Handler) error {
117118

118119
listener := sc.Listener
119120
if listener == nil {
120-
listenerNetwork := sc.ListenerNetwork
121-
if listenerNetwork == "" {
122-
listenerNetwork = "tcp"
123-
}
124-
var err error
125-
if sc.TLSConfig != nil {
126-
listener, err = tls.Listen(listenerNetwork, sc.Address, sc.TLSConfig)
127-
} else {
128-
listener, err = net.Listen(listenerNetwork, sc.Address)
129-
}
121+
listenerNetwork := cmp.Or(sc.ListenerNetwork, "tcp")
122+
123+
ln, err := (&net.ListenConfig{}).Listen(ctx, listenerNetwork, sc.Address)
130124
if err != nil {
131125
return err
132126
}
127+
listener = ln
128+
129+
if sc.TLSConfig != nil {
130+
listener = tls.NewListener(listener, sc.TLSConfig)
131+
}
133132
}
134133

135134
if sc.ListenerAddrFunc != nil {

0 commit comments

Comments
 (0)