summaryrefslogtreecommitdiffstats
path: root/api/context.go
diff options
context:
space:
mode:
Diffstat (limited to 'api/context.go')
-rw-r--r--api/context.go16
1 files changed, 11 insertions, 5 deletions
diff --git a/api/context.go b/api/context.go
index 08f41aa6d..c0e6bf3b5 100644
--- a/api/context.go
+++ b/api/context.go
@@ -39,6 +39,7 @@ type Context struct {
Err *model.AppError
teamURLValid bool
teamURL string
+ siteURL string
T goi18n.TranslateFunc
Locale string
TeamId string
@@ -141,10 +142,11 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
isTokenFromQueryString = true
}
- // if the site url in the config isn't specified, infer if from this request and write it back to the config
- if *utils.Cfg.ServiceSettings.SiteURL == "" {
- *utils.Cfg.ServiceSettings.SiteURL = GetProtocol(r) + "://" + r.Host
- utils.RegenerateClientConfig()
+ if *utils.Cfg.ServiceSettings.SiteURL != "" {
+ c.SetSiteURL(*utils.Cfg.ServiceSettings.SiteURL)
+ } else {
+ protocol := GetProtocol(r)
+ c.SetSiteURL(protocol + "://" + r.Host)
}
w.Header().Set(model.HEADER_REQUEST_ID, c.RequestId)
@@ -439,6 +441,10 @@ func (c *Context) SetTeamURLFromSession() {
}
}
+func (c *Context) SetSiteURL(url string) {
+ c.siteURL = url
+}
+
func (c *Context) GetTeamURLFromTeam(team *model.Team) string {
return c.GetSiteURL() + "/" + team.Name
}
@@ -454,7 +460,7 @@ func (c *Context) GetTeamURL() string {
}
func (c *Context) GetSiteURL() string {
- return *utils.Cfg.ServiceSettings.SiteURL
+ return c.siteURL
}
func IsApiCall(r *http.Request) bool {