1
0
mirror of https://github.com/astaxie/beego.git synced 2024-06-28 01:14:14 +00:00

Support run mode set by env var BEEGO_RUNMODE

This commit is contained in:
Bill Davis 2014-10-08 15:00:07 -04:00
parent a760e46f98
commit a06e0f27ad

View File

@ -26,6 +26,7 @@ import (
"github.com/astaxie/beego/logs" "github.com/astaxie/beego/logs"
"github.com/astaxie/beego/session" "github.com/astaxie/beego/session"
"github.com/astaxie/beego/utils" "github.com/astaxie/beego/utils"
"github.com/kelseyhightower/envconfig"
) )
var ( var (
@ -83,9 +84,14 @@ var (
RouterCaseSensitive bool // router case sensitive default is true RouterCaseSensitive bool // router case sensitive default is true
) )
type beegoAppConfig struct { type (
innerConfig config.ConfigContainer beegoAppConfig struct {
} innerConfig config.ConfigContainer
}
beegoEnvConfig struct {
RunMode string
}
)
func newAppConfig(AppConfigProvider, AppConfigPath string) *beegoAppConfig { func newAppConfig(AppConfigProvider, AppConfigPath string) *beegoAppConfig {
ac, err := config.NewConfig(AppConfigProvider, AppConfigPath) ac, err := config.NewConfig(AppConfigProvider, AppConfigPath)
@ -288,8 +294,16 @@ func init() {
func ParseConfig() (err error) { func ParseConfig() (err error) {
AppConfig = newAppConfig(AppConfigProvider, AppConfigPath) AppConfig = newAppConfig(AppConfigProvider, AppConfigPath)
var ec beegoEnvConfig
err = envconfig.Process("beego", &ec)
if err != nil {
return err
}
// set the runmode first // set the runmode first
if runmode := AppConfig.String("RunMode"); runmode != "" { if ec.RunMode != "" {
RunMode = ec.RunMode
} else if runmode := AppConfig.String("RunMode"); runmode != "" {
RunMode = runmode RunMode = runmode
} }