Changed autodetection of SiteURL (#3764)
* Changed autoconfiguration of SiteURL to be done on every request * Added SiteURL to system console
Этот коммит содержится в:
коммит произвёл
enahum
родитель
09d98b486e
Коммит
0afa28de09
@@ -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 {
|
||||
|
||||
@@ -458,6 +458,7 @@ func handleWebhookEvents(c *Context, post *model.Post, team *model.Team, channel
|
||||
Err: nil,
|
||||
teamURLValid: c.teamURLValid,
|
||||
teamURL: c.teamURL,
|
||||
siteURL: c.siteURL,
|
||||
T: c.T,
|
||||
Locale: c.Locale,
|
||||
TeamId: hook.TeamId,
|
||||
|
||||
Ссылка в новой задаче
Block a user