43 lines
694 B
Go
43 lines
694 B
Go
package mode
|
|
|
|
import "github.com/gin-gonic/gin"
|
|
|
|
const (
|
|
// Dev for development mode
|
|
Dev = "dev"
|
|
// Prod for production mode
|
|
Prod = "prod"
|
|
// TestDev used for tests
|
|
TestDev = "testdev"
|
|
)
|
|
|
|
var mode = Dev;
|
|
|
|
// Set sets the new mode.
|
|
func Set(newMode string) {
|
|
mode = newMode;
|
|
updateGinMode()
|
|
}
|
|
|
|
// Get returns the current mode.
|
|
func Get() string {
|
|
return mode;
|
|
}
|
|
|
|
// IsDev returns true if the current mode is dev mode.
|
|
func IsDev() bool {
|
|
return Get() == Dev || Get() == TestDev;
|
|
}
|
|
|
|
func updateGinMode() {
|
|
switch Get() {
|
|
case Dev:
|
|
gin.SetMode(gin.DebugMode)
|
|
case TestDev:
|
|
gin.SetMode(gin.TestMode)
|
|
case Prod:
|
|
gin.SetMode(gin.ReleaseMode)
|
|
default:
|
|
panic("unknown mode")
|
|
}
|
|
} |