text.go 408 B

123456789101112131415161718192021222324
  1. package render
  2. import (
  3. "fmt"
  4. "net/http"
  5. )
  6. type String struct {
  7. Format string
  8. Data []interface{}
  9. }
  10. func (r String) Write(w http.ResponseWriter) error {
  11. header := w.Header()
  12. if _, exist := header["Content-Type"]; !exist {
  13. header.Set("Content-Type", "text/plain; charset=utf-8")
  14. }
  15. if len(r.Data) > 0 {
  16. fmt.Fprintf(w, r.Format, r.Data...)
  17. } else {
  18. w.Write([]byte(r.Format))
  19. }
  20. return nil
  21. }