mirror of https://github.com/EasyDarwin/EasyDarwin
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.4 KiB
72 lines
1.4 KiB
// Copyright 2014 Manu Martinez-Almeida. All rights reserved. |
|
// Use of this source code is governed by a MIT style |
|
// license that can be found in the LICENSE file. |
|
|
|
package gin |
|
|
|
import ( |
|
"io" |
|
"os" |
|
|
|
"github.com/gin-gonic/gin/binding" |
|
) |
|
|
|
const ENV_GIN_MODE = "GIN_MODE" |
|
|
|
const ( |
|
DebugMode = "debug" |
|
ReleaseMode = "release" |
|
TestMode = "test" |
|
) |
|
const ( |
|
debugCode = iota |
|
releaseCode |
|
testCode |
|
) |
|
|
|
// DefaultWriter is the default io.Writer used the Gin for debug output and |
|
// middleware output like Logger() or Recovery(). |
|
// Note that both Logger and Recovery provides custom ways to configure their |
|
// output io.Writer. |
|
// To support coloring in Windows use: |
|
// import "github.com/mattn/go-colorable" |
|
// gin.DefaultWriter = colorable.NewColorableStdout() |
|
var DefaultWriter io.Writer = os.Stdout |
|
var DefaultErrorWriter io.Writer = os.Stderr |
|
|
|
var ginMode = debugCode |
|
var modeName = DebugMode |
|
|
|
func init() { |
|
mode := os.Getenv(ENV_GIN_MODE) |
|
SetMode(mode) |
|
} |
|
|
|
func SetMode(value string) { |
|
switch value { |
|
case DebugMode, "": |
|
ginMode = debugCode |
|
case ReleaseMode: |
|
ginMode = releaseCode |
|
case TestMode: |
|
ginMode = testCode |
|
default: |
|
panic("gin mode unknown: " + value) |
|
} |
|
if value == "" { |
|
value = DebugMode |
|
} |
|
modeName = value |
|
} |
|
|
|
func DisableBindValidation() { |
|
binding.Validator = nil |
|
} |
|
|
|
func EnableJsonDecoderUseNumber() { |
|
binding.EnableDecoderUseNumber = true |
|
} |
|
|
|
func Mode() string { |
|
return modeName |
|
}
|
|
|