Merge pull request #1782 from weaveworks/1709-json-func
Add a 'json' function for 'weave report -f'
This commit is contained in:
commit
0c077b8bb1
2 files changed
+13
-1
No files matched your search
+7
-1
@@ -246,7 +246,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
|
||||
|
||||
@@ -232,6 +232,12 @@ inspect`:
|
||||
$ weave report -f {% raw %}'{{.DNS.Domain}}'{% endraw %}
|
||||
weave.local.
|
||||
|
||||
Weave adds a template function, `json`, which can be applied to get
|
||||
results in JSON format.
|
||||
|
||||
$ weave report -f {% raw %}'{{json .DNS}}'{% endraw %}
|
||||
{% raw %}{"Domain":"weave.local.","Upstream":["8.8.8.8","8.8.4.4"],"Address":"172.17.0.1:53","TTL":1,"Entries":null}{% endraw %}
|
||||
|
||||
### <a name="list-attached-containers"></a>List attached containers
|
||||
|
||||
weave ps
|
||||
|
||||
Reference in new issue
Block a user