diff --git a/server/web/admin.go b/server/web/admin.go index a1c47e0c..1b06f486 100644 --- a/server/web/admin.go +++ b/server/web/admin.go @@ -109,7 +109,7 @@ func registerAdmin() error { servers: make([]*HttpServer, 0, 2), } beeAdminApp = &adminApp{ - HttpServer: NewHttpServerWithCfg(*BConfig), + HttpServer: NewHttpServerWithCfg(BConfig), } // keep in mind that all data should be html escaped to avoid XSS attack beeAdminApp.Router("/", c, "get:AdminIndex") diff --git a/server/web/server.go b/server/web/server.go index f289fd9b..25841563 100644 --- a/server/web/server.go +++ b/server/web/server.go @@ -59,19 +59,18 @@ type HttpServer struct { // NewHttpSever returns a new beego application. // this method will use the BConfig as the configure to create HttpServer -// Be careful that when you update BConfig, the server's Cfg will not be updated +// Be careful that when you update BConfig, the server's Cfg will be updated too func NewHttpSever() *HttpServer { - return NewHttpServerWithCfg(*BConfig) + return NewHttpServerWithCfg(BConfig) } // NewHttpServerWithCfg will create an sever with specific cfg -func NewHttpServerWithCfg(cfg Config) *HttpServer { - cfgPtr := &cfg - cr := NewControllerRegisterWithCfg(cfgPtr) +func NewHttpServerWithCfg(cfg *Config) *HttpServer { + cr := NewControllerRegisterWithCfg(cfg) app := &HttpServer{ Handlers: cr, Server: &http.Server{}, - Cfg: cfgPtr, + Cfg: cfg, } return app diff --git a/server/web/server_test.go b/server/web/server_test.go index 45ab2d4f..0b0c601c 100644 --- a/server/web/server_test.go +++ b/server/web/server_test.go @@ -21,11 +21,10 @@ import ( ) func TestNewHttpServerWithCfg(t *testing.T) { - // we should make sure that update server's config won't change + BConfig.AppName = "Before" - svr := NewHttpServerWithCfg(*BConfig) + svr := NewHttpServerWithCfg(BConfig) svr.Cfg.AppName = "hello" - assert.NotEqual(t, "hello", BConfig.AppName) - assert.Equal(t, "Before", BConfig.AppName) + assert.Equal(t, "hello", BConfig.AppName) }