util.go 619 B

123456789101112131415161718192021222324252627282930
  1. package server
  2. import (
  3. "net/http"
  4. "strings"
  5. )
  6. func readBoolParam(r *http.Request, defaultValue bool, names ...string) bool {
  7. value := strings.ToLower(readParam(r, names...))
  8. if value == "" {
  9. return defaultValue
  10. }
  11. return value == "1" || value == "yes" || value == "true"
  12. }
  13. func readParam(r *http.Request, names ...string) string {
  14. for _, name := range names {
  15. value := r.Header.Get(name)
  16. if value != "" {
  17. return strings.TrimSpace(value)
  18. }
  19. }
  20. for _, name := range names {
  21. value := r.URL.Query().Get(strings.ToLower(name))
  22. if value != "" {
  23. return strings.TrimSpace(value)
  24. }
  25. }
  26. return ""
  27. }