From 6fd0f121a053c24c9da7041afb9a66804471b764 Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Sat, 12 Dec 2015 14:44:54 +0000 Subject: [PATCH] Add a 'json' function for 'weave report -f' --- prog/weaver/http.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/prog/weaver/http.go b/prog/weaver/http.go index 1dc84925..68e72500 100644 --- a/prog/weaver/http.go +++ b/prog/weaver/http.go @@ -245,7 +245,13 @@ func HandleHTTP(muxRouter *mux.Router, version string, router *weave.NetworkRout muxRouter.Methods("GET").Path("/report").Queries("format", "{format}").HandlerFunc( func(w http.ResponseWriter, r *http.Request) { - formatTemplate, err := template.New("format").Parse(mux.Vars(r)["format"]) + funcs := template.FuncMap{ + "json": func(v interface{}) string { + a, _ := json.Marshal(v) + return string(a) + }, + } + formatTemplate, err := template.New("format").Funcs(funcs).Parse(mux.Vars(r)["format"]) if err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return