text.go 451 B

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