123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- package gin
- import (
- "flag"
- "io"
- "os"
- "github.com/gin-gonic/gin/binding"
- )
- const EnvGinMode = "GIN_MODE"
- const (
-
- DebugMode = "debug"
-
- ReleaseMode = "release"
-
- TestMode = "test"
- )
- const (
- debugCode = iota
- releaseCode
- testCode
- )
- var DefaultWriter io.Writer = os.Stdout
- var DefaultErrorWriter io.Writer = os.Stderr
- var (
- ginMode = debugCode
- modeName = DebugMode
- )
- func init() {
- mode := os.Getenv(EnvGinMode)
- SetMode(mode)
- }
- func SetMode(value string) {
- if value == "" {
- if flag.Lookup("test.v") != nil {
- value = TestMode
- } else {
- value = DebugMode
- }
- }
- switch value {
- case DebugMode:
- ginMode = debugCode
- case ReleaseMode:
- ginMode = releaseCode
- case TestMode:
- ginMode = testCode
- default:
- panic("gin mode unknown: " + value + " (available mode: debug release test)")
- }
- modeName = value
- }
- func DisableBindValidation() {
- binding.Validator = nil
- }
- func EnableJsonDecoderUseNumber() {
- binding.EnableDecoderUseNumber = true
- }
- func EnableJsonDecoderDisallowUnknownFields() {
- binding.EnableDecoderDisallowUnknownFields = true
- }
- func Mode() string {
- return modeName
- }
|