From 776e06c76961661e305fdad63945289b02ded1f3 Mon Sep 17 00:00:00 2001 From: Greg <2653109+glinton@users.noreply.github.com> Date: Thu, 11 Apr 2019 14:15:38 -0600 Subject: [PATCH] Support verbose query param in ping endpoint of influxdb_listener (#5704) --- plugins/inputs/influxdb_listener/http_listener.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/inputs/influxdb_listener/http_listener.go b/plugins/inputs/influxdb_listener/http_listener.go index 2857ae9c9..7e5544786 100644 --- a/plugins/inputs/influxdb_listener/http_listener.go +++ b/plugins/inputs/influxdb_listener/http_listener.go @@ -5,6 +5,7 @@ import ( "compress/gzip" "crypto/subtle" "crypto/tls" + "encoding/json" "fmt" "io" "log" @@ -231,8 +232,16 @@ func (h *HTTPListener) ServeHTTP(res http.ResponseWriter, req *http.Request) { case "/ping": h.PingsRecv.Incr(1) defer h.PingsServed.Incr(1) + verbose := req.URL.Query().Get("verbose") + // respond to ping requests - res.WriteHeader(http.StatusNoContent) + if verbose != "" && verbose != "0" && verbose != "false" { + res.WriteHeader(http.StatusOK) + b, _ := json.Marshal(map[string]string{"version": "1.0"}) // based on header set above + res.Write(b) + } else { + res.WriteHeader(http.StatusNoContent) + } default: defer h.NotFoundsServed.Incr(1) // Don't know how to respond to calls to other endpoints