api_render.go 470 B

1234567891011121314151617181920212223
  1. package api
  2. import (
  3. log "github.com/alecthomas/log4go"
  4. "github.com/gin-gonic/gin"
  5. )
  6. func init() {
  7. addRoutes(func(self *HttpServer) {
  8. self.router.GET("/api/render/*url", self.renderToPng)
  9. })
  10. }
  11. func (self *HttpServer) renderToPng(c *gin.Context) {
  12. url := c.Params.ByName("url")
  13. log.Info("Rendering url %v", url)
  14. pngPath, err := self.renderer.RenderToPng("http://localhost:3000/" + url)
  15. if err != nil {
  16. c.HTML(500, "error.html", nil)
  17. }
  18. c.File(pngPath)
  19. }