From 1f234df86ee6e13ec22c8642f390e0e642d04e88 Mon Sep 17 00:00:00 2001 From: Antonio Navarro Perez Date: Thu, 11 Feb 2021 11:10:38 +0100 Subject: [PATCH 1/3] Really fix url on Web UI log Signed-off-by: Antonio Navarro Perez --- http/handler.go | 7 +++++-- http/handler_test.go | 2 +- server/server.go | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/http/handler.go b/http/handler.go index 2865a6807..63682a992 100644 --- a/http/handler.go +++ b/http/handler.go @@ -67,6 +67,8 @@ type Handler struct { api *pilosa.API ln net.Listener + // Needed real URL for a log + url string closeTimeout time.Duration @@ -135,9 +137,10 @@ func OptHandlerLogger(logger logger.Logger) handlerOption { } } -func OptHandlerListener(ln net.Listener) handlerOption { +func OptHandlerListener(ln net.Listener, url string) handlerOption { return func(h *Handler) error { h.ln = ln + h.url = url return nil } } @@ -502,7 +505,7 @@ type statikHandler struct { func newStatikHandler(h *Handler) statikHandler { fs, err := h.fileSystem.New() if err == nil { - h.logger.Printf("enabled Web UI (%s) at %s", h.api.LatticeVersion(), h.ln.Addr().String()) + h.logger.Printf("enabled Web UI (%s) at %s", h.api.LatticeVersion(), h.url) } return statikHandler{ diff --git a/http/handler_test.go b/http/handler_test.go index 2d637f60f..2b4eaab32 100644 --- a/http/handler_test.go +++ b/http/handler_test.go @@ -45,7 +45,7 @@ func TestHandlerOptions(t *testing.T) { return err }, 10) - _, err = http.NewHandler(http.OptHandlerListener(ln)) + _, err = http.NewHandler(http.OptHandlerListener(ln, ln.Addr().String())) if err == nil { t.Fatalf("expected error making handler without options, got nil") } diff --git a/server/server.go b/server/server.go index 37b1b17c6..78a97b959 100644 --- a/server/server.go +++ b/server/server.go @@ -450,7 +450,7 @@ func (m *Command) SetupServer() error { http.OptHandlerAPI(m.API), http.OptHandlerLogger(m.logger), http.OptHandlerFileSystem(&statik.FileSystem{}), - http.OptHandlerListener(m.ln), + http.OptHandlerListener(m.ln, uri.HostPort()), http.OptHandlerCloseTimeout(m.closeTimeout), http.OptHandlerMiddleware(m.grpcServer.middleware(m.Config.Handler.AllowedOrigins)), ) From 5440e177dea7de19cbbc89fc24f4e949d8343a94 Mon Sep 17 00:00:00 2001 From: Antonio Navarro Perez Date: Thu, 11 Feb 2021 11:52:42 +0100 Subject: [PATCH 2/3] Use advertised URL Signed-off-by: Antonio Navarro Perez --- server/server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/server.go b/server/server.go index 78a97b959..983cb7265 100644 --- a/server/server.go +++ b/server/server.go @@ -450,7 +450,7 @@ func (m *Command) SetupServer() error { http.OptHandlerAPI(m.API), http.OptHandlerLogger(m.logger), http.OptHandlerFileSystem(&statik.FileSystem{}), - http.OptHandlerListener(m.ln, uri.HostPort()), + http.OptHandlerListener(m.ln, m.Config.Advertise), http.OptHandlerCloseTimeout(m.closeTimeout), http.OptHandlerMiddleware(m.grpcServer.middleware(m.Config.Handler.AllowedOrigins)), ) From e0787ed8a836625ba54c0bab3a1e18407f7c8a7f Mon Sep 17 00:00:00 2001 From: Antonio Navarro Perez Date: Thu, 11 Feb 2021 16:37:41 +0100 Subject: [PATCH 3/3] Requested changes. Signed-off-by: Antonio Navarro Perez --- http/handler.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/http/handler.go b/http/handler.go index 63682a992..77864ae74 100644 --- a/http/handler.go +++ b/http/handler.go @@ -67,7 +67,7 @@ type Handler struct { api *pilosa.API ln net.Listener - // Needed real URL for a log + // url is used to hold the advertise bind address for printing a log during startup. url string closeTimeout time.Duration @@ -137,6 +137,9 @@ func OptHandlerLogger(logger logger.Logger) handlerOption { } } +// OptHandlerListener set the listener that will be used by the HTTP server. +// Url must be the advertised URL. It will be used to show a log to the user +// about where the Web UI is. This option is mandatory. func OptHandlerListener(ln net.Listener, url string) handlerOption { return func(h *Handler) error { h.ln = ln