server: Extract resolveUrl helper function

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
This commit is contained in:
Marek Siarkowicz
2023-03-28 11:47:57 +02:00
parent 66704b4c59
commit a4ac849ec1

View File

@@ -646,22 +646,14 @@ func configureClientListeners(cfg *Config) (sctxs map[string]*serveCtx, err erro
} }
for _, u := range cfg.ListenClientUrls { for _, u := range cfg.ListenClientUrls {
addr := u.Host addr, secure, network := resolveUrl(u)
network := "tcp"
if u.Scheme == "unix" || u.Scheme == "unixs" {
addr = u.Host + u.Path
network = "unix"
}
secure := u.Scheme == "https" || u.Scheme == "unixs"
insecure := !secure
sctx := sctxs[addr] sctx := sctxs[addr]
if sctx == nil { if sctx == nil {
sctx = newServeCtx(cfg.logger) sctx = newServeCtx(cfg.logger)
sctxs[addr] = sctx sctxs[addr] = sctx
} }
sctx.secure = sctx.secure || secure sctx.secure = sctx.secure || secure
sctx.insecure = sctx.insecure || insecure sctx.insecure = sctx.insecure || !secure
sctx.scheme = u.Scheme sctx.scheme = u.Scheme
sctx.addr = addr sctx.addr = addr
sctx.network = network sctx.network = network
@@ -723,6 +715,17 @@ func configureClientListeners(cfg *Config) (sctxs map[string]*serveCtx, err erro
return sctxs, nil return sctxs, nil
} }
func resolveUrl(u url.URL) (addr string, secure bool, network string) {
addr = u.Host
network = "tcp"
if u.Scheme == "unix" || u.Scheme == "unixs" {
addr = u.Host + u.Path
network = "unix"
}
secure = u.Scheme == "https" || u.Scheme == "unixs"
return addr, secure, network
}
func (e *Etcd) serveClients() (err error) { func (e *Etcd) serveClients() (err error) {
if !e.cfg.ClientTLSInfo.Empty() { if !e.cfg.ClientTLSInfo.Empty() {
if e.cfg.logger != nil { if e.cfg.logger != nil {