diff --git a/handler.go b/handler.go index a5b5c4808..eb2621557 100644 --- a/handler.go +++ b/handler.go @@ -1590,10 +1590,15 @@ func (h *Handler) handleGetHosts(w http.ResponseWriter, r *http.Request) { // handleGetVersion handles /version requests. func (h *Handler) handleGetVersion(w http.ResponseWriter, r *http.Request) { + version := Version + if strings.HasPrefix(version, "v") { + // make the version string semver-compatible + version = version[1:] + } if err := json.NewEncoder(w).Encode(struct { Version string `json:"version"` }{ - Version: Version, + Version: version, }); err != nil { h.logger().Printf("write version response error: %s", err) } diff --git a/handler_test.go b/handler_test.go index 796782402..f865d1510 100644 --- a/handler_test.go +++ b/handler_test.go @@ -1161,9 +1161,13 @@ func TestHandler_Version(t *testing.T) { w := httptest.NewRecorder() r := test.MustNewHTTPRequest("GET", "/version", nil) h.ServeHTTP(w, r) + version := pilosa.Version + if strings.HasPrefix(version, "v") { + version = version[1:] + } if w.Code != http.StatusOK { t.Fatalf("unexpected status code: %d", w.Code) - } else if w.Body.String() != `{"version":"`+pilosa.Version+`"}`+"\n" { + } else if w.Body.String() != `{"version":"`+version+`"}`+"\n" { t.Fatalf("unexpected body: %q", w.Body.String()) } }