MM-59283: Minor improvement in getClientConfig (#27825)

Overall, there is no bug here. But opportunities for
improvement.
- Used the maps.Clone function.
- Handled the error while writing to the network.

https://mattermost.atlassian.net/browse/MM-59283
```release-note
NONE
```
This commit is contained in:
Agniva De Sarker 2024-08-01 21:09:58 +05:30 committed by GitHub
parent 50ebf8cc13
commit 28939d84da
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 10 deletions

View File

@ -258,7 +258,9 @@ func getClientConfig(c *Context, w http.ResponseWriter, r *http.Request) {
config = c.App.Srv().Platform().ClientConfigWithComputed()
}
w.Write([]byte(model.MapToJSON(config)))
if err := json.NewEncoder(w).Encode(config); err != nil {
c.Logger.Warn("Error while writing response", mlog.Err(err))
}
}
func getEnvironmentConfig(c *Context, w http.ResponseWriter, r *http.Request) {

View File

@ -13,6 +13,7 @@ import (
"encoding/json"
"errors"
"fmt"
"maps"
"net/http"
"reflect"
"strconv"
@ -307,10 +308,7 @@ func (ps *PlatformService) EnsureAsymmetricSigningKey() error {
// LimitedClientConfigWithComputed gets the configuration in a format suitable for sending to the client.
func (ps *PlatformService) LimitedClientConfigWithComputed() map[string]string {
respCfg := map[string]string{}
for k, v := range ps.LimitedClientConfig() {
respCfg[k] = v
}
respCfg := maps.Clone(ps.LimitedClientConfig())
// These properties are not configurable, but nevertheless represent configuration expected
// by the client.
@ -321,10 +319,7 @@ func (ps *PlatformService) LimitedClientConfigWithComputed() map[string]string {
// ClientConfigWithComputed gets the configuration in a format suitable for sending to the client.
func (ps *PlatformService) ClientConfigWithComputed() map[string]string {
respCfg := map[string]string{}
for k, v := range ps.clientConfig.Load().(map[string]string) {
respCfg[k] = v
}
respCfg := maps.Clone(ps.ClientConfig())
// These properties are not configurable, but nevertheless represent configuration expected
// by the client.
@ -340,7 +335,6 @@ func (ps *PlatformService) ClientConfigWithComputed() map[string]string {
} else {
respCfg["SchemaVersion"] = strconv.Itoa(ver)
}
return respCfg
}