text.go 584 B

12345678910111213141516171819202122232425
  1. package render
  2. import (
  3. "fmt"
  4. "net/http"
  5. )
  6. type plainTextRender struct{}
  7. func (_ plainTextRender) Render(w http.ResponseWriter, code int, data ...interface{}) error {
  8. format := data[0].(string)
  9. values := data[1].([]interface{})
  10. WritePlainText(w, code, format, values)
  11. return nil
  12. }
  13. func WritePlainText(w http.ResponseWriter, code int, format string, values []interface{}) {
  14. writeHeader(w, code, "text/plain; charset=utf-8")
  15. // we assume w.Write can not fail, is that right?
  16. if len(values) > 0 {
  17. fmt.Fprintf(w, format, values...)
  18. } else {
  19. w.Write([]byte(format))
  20. }
  21. }