rendering

This commit is contained in:
Torkel Ödegaard
2014-10-01 21:07:58 +02:00
parent 4a73e2d0e9
commit 05f9e5eef1
5 changed files with 40 additions and 17 deletions
+12 -5
View File
@@ -3,22 +3,29 @@ package api
import (
"strconv"
log "github.com/alecthomas/log4go"
"github.com/gin-gonic/gin"
"github.com/torkelo/grafana-pro/pkg/components"
)
func init() {
addRoutes(func(self *HttpServer) {
self.addRoute("GET", "/api/render/*url", self.renderToPng)
self.addRoute("GET", "/render/*url", self.renderToPng)
})
}
func (self *HttpServer) renderToPng(c *gin.Context, auth *authContext) {
url := c.Params.ByName("url")
accountId := auth.getAccountId()
query := c.Request.URL.Query()
queryParams := "?render&accountId=" + strconv.Itoa(accountId) + "&" + c.Request.URL.RawQuery
renderOpts := &components.RenderOpts{
Url: c.Params.ByName("url") + queryParams,
Width: query["width"][0],
Height: query["height"][0],
}
log.Info("Rendering url %v", url)
pngPath, err := self.renderer.RenderToPng("http://localhost:3000" + url + "?render&accountId=" + strconv.Itoa(accountId))
renderOpts.Url = "http://localhost:3000" + renderOpts.Url
pngPath, err := self.renderer.RenderToPng(renderOpts)
if err != nil {
c.HTML(500, "error.html", nil)
}