Merge pull request #1039 from yuce/1034-version-endpoint-modification

[Trivial] [Low priority] Makes /version endpoint semver-compatible
This commit is contained in:
Yuce Tekol 2018-01-15 18:41:32 +03:00 • committed by GitHub
commit 8a82a5c9a3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 2 deletions

View file

@ -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)
}

View file

@ -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())
}
}