소스 검색

add encoding param

jomenxiao 8 년 전
부모
커밋
ad2a69bff4
2개의 변경된 파일6개의 추가작업 그리고 0개의 파일을 삭제
  1. 1 0
      pkg/api/render.go
  2. 5 0
      pkg/components/renderer/renderer.go

+ 1 - 0
pkg/api/render.go

@@ -24,6 +24,7 @@ func RenderToPng(c *middleware.Context) {
 		OrgId:    c.OrgId,
 		Timeout:  queryReader.Get("timeout", "60"),
 		Timezone: queryReader.Get("tz", ""),
+		Encoding: queryReader.Get("encoding", ""),
 	}
 
 	pngPath, err := renderer.RenderToPng(renderOpts)

+ 5 - 0
pkg/components/renderer/renderer.go

@@ -27,6 +27,7 @@ type RenderOpts struct {
 	Timeout  string
 	OrgId    int64
 	Timezone string
+	Encoding string
 }
 
 var ErrTimeout = errors.New("Timeout error. You can set timeout in seconds with &timeout url parameter")
@@ -95,6 +96,10 @@ func RenderToPng(params *RenderOpts) (string, error) {
 		"renderKey=" + renderKey,
 	}
 
+	if params.Encoding != "" {
+		cmdArgs = append([]string{fmt.Sprintf("--output-encoding=%s", params.Encoding)}, cmdArgs...)
+	}
+
 	cmd := exec.Command(binPath, cmdArgs...)
 	stdout, err := cmd.StdoutPipe()