a06e0f27 by Bill Davis

Support run mode set by env var BEEGO_RUNMODE

1 parent a760e46f
Showing 1 changed file with 18 additions and 4 deletions
...@@ -26,6 +26,7 @@ import ( ...@@ -26,6 +26,7 @@ import (
26 "github.com/astaxie/beego/logs" 26 "github.com/astaxie/beego/logs"
27 "github.com/astaxie/beego/session" 27 "github.com/astaxie/beego/session"
28 "github.com/astaxie/beego/utils" 28 "github.com/astaxie/beego/utils"
29 "github.com/kelseyhightower/envconfig"
29 ) 30 )
30 31
31 var ( 32 var (
...@@ -83,9 +84,14 @@ var ( ...@@ -83,9 +84,14 @@ var (
83 RouterCaseSensitive bool // router case sensitive default is true 84 RouterCaseSensitive bool // router case sensitive default is true
84 ) 85 )
85 86
86 type beegoAppConfig struct { 87 type (
87 innerConfig config.ConfigContainer 88 beegoAppConfig struct {
88 } 89 innerConfig config.ConfigContainer
90 }
91 beegoEnvConfig struct {
92 RunMode string
93 }
94 )
89 95
90 func newAppConfig(AppConfigProvider, AppConfigPath string) *beegoAppConfig { 96 func newAppConfig(AppConfigProvider, AppConfigPath string) *beegoAppConfig {
91 ac, err := config.NewConfig(AppConfigProvider, AppConfigPath) 97 ac, err := config.NewConfig(AppConfigProvider, AppConfigPath)
...@@ -288,8 +294,16 @@ func init() { ...@@ -288,8 +294,16 @@ func init() {
288 func ParseConfig() (err error) { 294 func ParseConfig() (err error) {
289 AppConfig = newAppConfig(AppConfigProvider, AppConfigPath) 295 AppConfig = newAppConfig(AppConfigProvider, AppConfigPath)
290 296
297 var ec beegoEnvConfig
298 err = envconfig.Process("beego", &ec)
299 if err != nil {
300 return err
301 }
302
291 // set the runmode first 303 // set the runmode first
292 if runmode := AppConfig.String("RunMode"); runmode != "" { 304 if ec.RunMode != "" {
305 RunMode = ec.RunMode
306 } else if runmode := AppConfig.String("RunMode"); runmode != "" {
293 RunMode = runmode 307 RunMode = runmode
294 } 308 }
295 309
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!