http.go 540 B

123456789101112131415161718192021222324252627282930313233
  1. package util
  2. import (
  3. "fmt"
  4. "net/http"
  5. "strings"
  6. )
  7. // HeaderString writes the request/response http.Header to a string.
  8. func HeaderString(h http.Header) string {
  9. var sb strings.Builder
  10. var first bool = true
  11. sb.WriteString("{ ")
  12. for k, vs := range h {
  13. if first {
  14. first = false
  15. } else {
  16. sb.WriteString(", ")
  17. }
  18. fmt.Fprintf(&sb, "%s: [ ", k)
  19. for idx, v := range vs {
  20. sb.WriteString(v)
  21. if idx != len(vs)-1 {
  22. sb.WriteString(", ")
  23. }
  24. }
  25. sb.WriteString(" ]")
  26. }
  27. sb.WriteString(" }")
  28. return sb.String()
  29. }