mode.go 653 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package gin
  2. import (
  3. "os"
  4. )
  5. const GIN_MODE = "GIN_MODE"
  6. const (
  7. DebugMode string = "debug"
  8. ReleaseMode string = "release"
  9. TestMode string = "test"
  10. )
  11. const (
  12. debugCode = iota
  13. releaseCode = iota
  14. testCode = iota
  15. )
  16. var gin_mode int = debugCode
  17. func SetMode(value string) {
  18. switch value {
  19. case DebugMode:
  20. gin_mode = debugCode
  21. case ReleaseMode:
  22. gin_mode = releaseCode
  23. case TestMode:
  24. gin_mode = testCode
  25. default:
  26. panic("gin mode unknown, the allowed modes are: " + DebugMode + " and " + ReleaseMode)
  27. }
  28. }
  29. func init() {
  30. value := os.Getenv(GIN_MODE)
  31. if len(value) == 0 {
  32. SetMode(DebugMode)
  33. } else {
  34. SetMode(value)
  35. }
  36. }