From 87343176fcc01eb064def97a913157e3967ffcc6 Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Wed, 5 Apr 2017 19:10:20 +0100 Subject: PLT-5977: Only reload clients when client config changes. (#5989) --- api/context.go | 2 +- api4/context.go | 2 +- app/web_conn.go | 2 +- utils/config.go | 3 +++ 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/api/context.go b/api/context.go index ff6018920..bc5855345 100644 --- a/api/context.go +++ b/api/context.go @@ -149,7 +149,7 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { c.SetSiteURLHeader(app.GetProtocol(r) + "://" + r.Host) w.Header().Set(model.HEADER_REQUEST_ID, c.RequestId) - w.Header().Set(model.HEADER_VERSION_ID, fmt.Sprintf("%v.%v.%v.%v", model.CurrentVersion, model.BuildNumber, utils.CfgHash, utils.IsLicensed)) + w.Header().Set(model.HEADER_VERSION_ID, fmt.Sprintf("%v.%v.%v.%v", model.CurrentVersion, model.BuildNumber, utils.ClientCfgHash, utils.IsLicensed)) if einterfaces.GetClusterInterface() != nil { w.Header().Set(model.HEADER_CLUSTER_ID, einterfaces.GetClusterInterface().GetClusterId()) } diff --git a/api4/context.go b/api4/context.go index 36a48eb9d..484a6432f 100644 --- a/api4/context.go +++ b/api4/context.go @@ -128,7 +128,7 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { c.SetSiteURLHeader(app.GetProtocol(r) + "://" + r.Host) w.Header().Set(model.HEADER_REQUEST_ID, c.RequestId) - w.Header().Set(model.HEADER_VERSION_ID, fmt.Sprintf("%v.%v.%v.%v", model.CurrentVersion, model.BuildNumber, utils.CfgHash, utils.IsLicensed)) + w.Header().Set(model.HEADER_VERSION_ID, fmt.Sprintf("%v.%v.%v.%v", model.CurrentVersion, model.BuildNumber, utils.ClientCfgHash, utils.IsLicensed)) if einterfaces.GetClusterInterface() != nil { w.Header().Set(model.HEADER_CLUSTER_ID, einterfaces.GetClusterInterface().GetClusterId()) } diff --git a/app/web_conn.go b/app/web_conn.go index 11290b67d..8d604ff3e 100644 --- a/app/web_conn.go +++ b/app/web_conn.go @@ -190,7 +190,7 @@ func (webCon *WebConn) IsAuthenticated() bool { func (webCon *WebConn) SendHello() { msg := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_HELLO, "", "", webCon.UserId, nil) - msg.Add("server_version", fmt.Sprintf("%v.%v.%v.%v", model.CurrentVersion, model.BuildNumber, utils.CfgHash, utils.IsLicensed)) + msg.Add("server_version", fmt.Sprintf("%v.%v.%v.%v", model.CurrentVersion, model.BuildNumber, utils.ClientCfgHash, utils.IsLicensed)) webCon.Send <- msg } diff --git a/utils/config.go b/utils/config.go index 2e41f8431..8c80d5349 100644 --- a/utils/config.go +++ b/utils/config.go @@ -35,6 +35,7 @@ var watcher *fsnotify.Watcher var Cfg *model.Config = &model.Config{} var CfgDiagnosticId = "" var CfgHash = "" +var ClientCfgHash = "" var CfgFileName string = "" var ClientCfg map[string]string = map[string]string{} var originalDisableDebugLvl l4g.Level = l4g.DEBUG @@ -313,6 +314,8 @@ func LoadConfig(fileName string) { Cfg = &config CfgHash = fmt.Sprintf("%x", md5.Sum([]byte(Cfg.ToJson()))) ClientCfg = getClientConfig(Cfg) + clientCfgJson, _ := json.Marshal(ClientCfg) + ClientCfgHash = fmt.Sprintf("%x", md5.Sum(clientCfgJson)) // Actions that need to run every time the config is loaded if ldapI := einterfaces.GetLdapInterface(); ldapI != nil { -- cgit v1.2.3-1-g7c22