Allow requesting the unrendered dot graph from the graph endpoint

When api/graph.{dot,gv} is requested the raw string for dot gets returned.
This allows client-side rendering rather than server-side. It also makes
the optional dependency on graphivz for dot unnecessary to use the graph
endpoint.
This commit is contained in:
Harald Sitter
2017-01-13 12:57:42 +01:00
parent 570835227b
commit 345fa02fdc
3 changed files with 12 additions and 0 deletions

View File

@@ -39,6 +39,13 @@ func apiGraph(c *gin.Context) {
buf := bytes.NewBufferString(graph.String())
if ext == "dot" || ext == "gv" {
// If the raw dot data is requested, return it as string.
// This allows client-side rendering rather than server-side.
c.String(200, buf.String())
return
}
command := exec.Command("dot", "-T"+ext)
command.Stderr = os.Stderr