From a4ac849ec118bd029a12cda0be610a183c88d3ab Mon Sep 17 00:00:00 2001 From: Marek Siarkowicz Date: Tue, 28 Mar 2023 11:47:57 +0200 Subject: [PATCH] server: Extract resolveUrl helper function Signed-off-by: Marek Siarkowicz --- embed/etcd.go | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/embed/etcd.go b/embed/etcd.go index 6fb020bdf..1e19c5929 100644 --- a/embed/etcd.go +++ b/embed/etcd.go @@ -646,22 +646,14 @@ func configureClientListeners(cfg *Config) (sctxs map[string]*serveCtx, err erro } for _, u := range cfg.ListenClientUrls { - 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" - insecure := !secure - + addr, secure, network := resolveUrl(u) sctx := sctxs[addr] if sctx == nil { sctx = newServeCtx(cfg.logger) sctxs[addr] = sctx } sctx.secure = sctx.secure || secure - sctx.insecure = sctx.insecure || insecure + sctx.insecure = sctx.insecure || !secure sctx.scheme = u.Scheme sctx.addr = addr sctx.network = network @@ -723,6 +715,17 @@ func configureClientListeners(cfg *Config) (sctxs map[string]*serveCtx, err erro 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) { if !e.cfg.ClientTLSInfo.Empty() { if e.cfg.logger != nil {