| 363 | } |
| 364 | |
| 365 | func (h *buildInfoHandler) ServeHTTP(writer http.ResponseWriter, _ *http.Request) { |
| 366 | infoResponse := buildInfoResponse{ |
| 367 | Status: "success", |
| 368 | Data: &v1.PrometheusVersion{ |
| 369 | Version: version.Version, |
| 370 | Branch: version.Branch, |
| 371 | Revision: version.Revision, |
| 372 | BuildUser: version.BuildUser, |
| 373 | BuildDate: version.BuildDate, |
| 374 | GoVersion: version.GoVersion, |
| 375 | }, |
| 376 | } |
| 377 | output, err := json.Marshal(infoResponse) |
| 378 | if err != nil { |
| 379 | level.Error(h.logger).Log("msg", "marshal build info response", "error", err) |
| 380 | http.Error(writer, err.Error(), http.StatusInternalServerError) |
| 381 | return |
| 382 | } |
| 383 | writer.WriteHeader(http.StatusOK) |
| 384 | if _, err := writer.Write(output); err != nil { |
| 385 | level.Error(h.logger).Log("msg", "write build info response", "error", err) |
| 386 | } |
| 387 | } |