diff --git a/web/web.go b/web/web.go index d41f62b61..f7bf4f7b5 100644 --- a/web/web.go +++ b/web/web.go @@ -264,7 +264,7 @@ func New(logger log.Logger, o *Options) *Handler { router.Get("/consoles/*filepath", readyf(h.consoles)) router.Get("/static/*filepath", func(w http.ResponseWriter, r *http.Request) { - r.URL.Path = filepath.Join("/static", route.Param(r.Context(), "filepath")) + r.URL.Path = path.Join("/static", route.Param(r.Context(), "filepath")) fs := http.FileServer(ui.Assets) fs.ServeHTTP(w, r) }) @@ -825,7 +825,7 @@ func (h *Handler) getTemplate(name string) (string, error) { var tmpl string appendf := func(name string) error { - f, err := ui.Assets.Open(filepath.Join("/templates", name)) + f, err := ui.Assets.Open(path.Join("/templates", name)) if err != nil { return err } diff --git a/web/web_test.go b/web/web_test.go index c18c23cdd..99d41fcda 100644 --- a/web/web_test.go +++ b/web/web_test.go @@ -107,6 +107,12 @@ func TestReadyAndHealthy(t *testing.T) { RoutePrefix: "/", EnableAdminAPI: true, TSDB: func() *libtsdb.DB { return db }, + ExternalURL: &url.URL{ + Scheme: "http", + Host: "localhost:9090", + Path: "/", + }, + Version: &PrometheusVersion{}, } opts.Flags = map[string]string{} @@ -138,6 +144,11 @@ func TestReadyAndHealthy(t *testing.T) { testutil.Ok(t, err) testutil.Equals(t, http.StatusServiceUnavailable, resp.StatusCode) + resp, err = http.Get("http://localhost:9090/graph") + + testutil.Ok(t, err) + testutil.Equals(t, http.StatusServiceUnavailable, resp.StatusCode) + resp, err = http.Post("http://localhost:9090/api/v2/admin/tsdb/snapshot", "", strings.NewReader("")) testutil.Ok(t, err) @@ -166,6 +177,11 @@ func TestReadyAndHealthy(t *testing.T) { testutil.Ok(t, err) testutil.Equals(t, http.StatusOK, resp.StatusCode) + resp, err = http.Get("http://localhost:9090/graph") + + testutil.Ok(t, err) + testutil.Equals(t, http.StatusOK, resp.StatusCode) + resp, err = http.Post("http://localhost:9090/api/v2/admin/tsdb/snapshot", "", strings.NewReader("")) testutil.Ok(t, err)