коммит произвёл
Harrison Healey
родитель
cf9cd6a4b6
Коммит
77a1dc1f2f
39
app/app.go
39
app/app.go
@@ -5,8 +5,10 @@ package app
|
||||
|
||||
import (
|
||||
"html/template"
|
||||
"net"
|
||||
"net/http"
|
||||
"runtime/debug"
|
||||
"strings"
|
||||
"sync/atomic"
|
||||
|
||||
l4g "github.com/alecthomas/log4go"
|
||||
@@ -351,6 +353,43 @@ func (a *App) HTMLTemplates() *template.Template {
|
||||
return a.htmlTemplateWatcher.Templates()
|
||||
}
|
||||
|
||||
func (a *App) HTTPClient(trustURLs bool) *http.Client {
|
||||
insecure := a.Config().ServiceSettings.EnableInsecureOutgoingConnections != nil && *a.Config().ServiceSettings.EnableInsecureOutgoingConnections
|
||||
|
||||
if trustURLs {
|
||||
return utils.NewHTTPClient(insecure, nil, nil)
|
||||
}
|
||||
|
||||
allowHost := func(host string) bool {
|
||||
if a.Config().ServiceSettings.AllowedUntrustedInternalConnections == nil {
|
||||
return false
|
||||
}
|
||||
for _, allowed := range strings.Fields(*a.Config().ServiceSettings.AllowedUntrustedInternalConnections) {
|
||||
if host == allowed {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
allowIP := func(ip net.IP) bool {
|
||||
if !utils.IsReservedIP(ip) {
|
||||
return true
|
||||
}
|
||||
if a.Config().ServiceSettings.AllowedUntrustedInternalConnections == nil {
|
||||
return false
|
||||
}
|
||||
for _, allowed := range strings.Fields(*a.Config().ServiceSettings.AllowedUntrustedInternalConnections) {
|
||||
if _, ipRange, err := net.ParseCIDR(allowed); err == nil && ipRange.Contains(ip) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
return utils.NewHTTPClient(insecure, allowHost, allowIP)
|
||||
}
|
||||
|
||||
func (a *App) Handle404(w http.ResponseWriter, r *http.Request) {
|
||||
err := model.NewAppError("Handle404", "api.context.404.app_error", nil, "", http.StatusNotFound)
|
||||
err.Translate(utils.T)
|
||||
|
||||
Ссылка в новой задаче
Block a user