From 225bddc2a8f45a22f08aba8590da82309b2e9601 Mon Sep 17 00:00:00 2001 From: Cody Soyland Date: Wed, 4 Jan 2017 15:03:55 -0600 Subject: [PATCH] Add handler endpoint to get list of cluster nodes --- handler.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/handler.go b/handler.go index 2f08dc357..175161384 100644 --- a/handler.go +++ b/handler.go @@ -186,6 +186,13 @@ func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { default: http.Error(w, "method not allowed", http.StatusMethodNotAllowed) } + case "/nodes": + switch r.Method { + case "GET": + h.handleGetNodes(w, r) + default: + http.Error(w, "method not allowed", http.StatusMethodNotAllowed) + } case "/version": h.handleVersion(w, r) @@ -1012,6 +1019,13 @@ func (h *Handler) handlePostFrameRestore(w http.ResponseWriter, r *http.Request) } } +// handleGetNodes handles /nodes requests. +func (h *Handler) handleGetNodes(w http.ResponseWriter, r *http.Request) { + if err := json.NewEncoder(w).Encode(h.Cluster.Nodes); err != nil { + h.logger().Printf("write version response error: %s", err) + } +} + // handleGetVersion handles /version requests. func (h *Handler) handleVersion(w http.ResponseWriter, r *http.Request) { if err := json.NewEncoder(w).Encode(struct {