From b188da84ed2d8afe18c298074a7e2082c381e3b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mika=C3=ABl=20Cluseau?= Date: Sat, 7 Jul 2018 16:39:55 +1100 Subject: [PATCH] feat: addons pure yaml format --- http.go | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/http.go b/http.go index c86f858..ad796a3 100644 --- a/http.go +++ b/http.go @@ -220,7 +220,14 @@ func serveCluster(w http.ResponseWriter, r *http.Request) { return } - clusterName, what := p[2], p[3] + clusterName := p[2] + + p = strings.SplitN(p[3], ".", 2) + what := p[0] + format := "" + if len(p) > 1 { + format = p[1] + } cfg, err := readConfig() if err != nil { @@ -267,7 +274,16 @@ func serveCluster(w http.ResponseWriter, r *http.Request) { cm.Data[addon.Name] = buf.String() } - yaml.NewEncoder(w).Encode(cm) + switch format { + case "yaml": + for name, data := range cm.Data { + w.Write([]byte("\n# addon: " + name + "\n---\n\n")) + w.Write([]byte(data)) + } + + default: + yaml.NewEncoder(w).Encode(cm) + } default: http.NotFound(w, r)