summaryrefslogtreecommitdiffstats
path: root/web/web.go
diff options
context:
space:
mode:
authorAlex Moon <moonmeister@users.noreply.github.com>2017-09-21 18:20:20 -0700
committerCorey Hulen <corey@hulen.com>2017-09-21 18:20:20 -0700
commit7d23276b0cbf4ef5cb45cb20e2dc9f5eb13b3a63 (patch)
tree653a664c841e861a3c1041eb03edfbf91b6fa471 /web/web.go
parent265392fa480fb875ede98a5df7359a7dc5340667 (diff)
downloadchat-7d23276b0cbf4ef5cb45cb20e2dc9f5eb13b3a63.tar.gz
chat-7d23276b0cbf4ef5cb45cb20e2dc9f5eb13b3a63.tar.bz2
chat-7d23276b0cbf4ef5cb45cb20e2dc9f5eb13b3a63.zip
Revert user_agent chanes made for PLT-959 #6945 to fix clients incorrectly being given incompaibile message (#7497)
Diffstat (limited to 'web/web.go')
-rw-r--r--web/web.go30
1 files changed, 10 insertions, 20 deletions
diff --git a/web/web.go b/web/web.go
index f74c73cde..2f9e111bd 100644
--- a/web/web.go
+++ b/web/web.go
@@ -5,7 +5,6 @@ package web
import (
"net/http"
- "strconv"
"strings"
"github.com/NYTimes/gziphandler"
@@ -67,28 +66,19 @@ func pluginHandler(handler http.Handler) http.Handler {
})
}
-//map should be of minimum required browser version.
-//var browsersNotSupported string = "MSIE/11;Internet Explorer/11;Safari/9;Chrome/43;Edge/15;Firefox/52"
-//var browserMinimumSupported = [6]string{"MSIE/11", "Internet Explorer/11", "Safari/9", "Chrome/43", "Edge/15", "Firefox/52"}
-var browserMinimumSupported = map[string]int{
- "MSIE": 11,
- "Internet Explorer": 11,
- "Safari": 9,
- "Chrome": 43,
- "Edge": 15,
- "Firefox": 52,
-}
+var browsersNotSupported string = "MSIE/8;MSIE/9;MSIE/10;Internet Explorer/8;Internet Explorer/9;Internet Explorer/10;Safari/7;Safari/8"
-func CheckBrowserCompatability(ua *user_agent.UserAgent) bool {
+func CheckBrowserCompatability(c *api.Context, r *http.Request) bool {
+ ua := user_agent.New(r.UserAgent())
bname, bversion := ua.Browser()
- l4g.Debug("Detected Browser: %v %v", bname, bversion)
-
- curVersion := strings.Split(bversion, ".")
- intCurVersion, _ := strconv.Atoi(curVersion[0])
+ browsers := strings.Split(browsersNotSupported, ";")
+ for _, browser := range browsers {
+ version := strings.Split(browser, "/")
- if version, exist := browserMinimumSupported[bname]; exist && intCurVersion < version {
- return false
+ if strings.HasPrefix(bname, version[0]) && strings.HasPrefix(bversion, version[1]) {
+ return false
+ }
}
return true
@@ -96,7 +86,7 @@ func CheckBrowserCompatability(ua *user_agent.UserAgent) bool {
}
func root(c *api.Context, w http.ResponseWriter, r *http.Request) {
- if !CheckBrowserCompatability(user_agent.New(r.UserAgent())) {
+ if !CheckBrowserCompatability(c, r) {
w.Header().Set("Cache-Control", "no-store")
page := utils.NewHTMLTemplate("unsupported_browser", c.Locale)
page.Props["Title"] = c.T("web.error.unsupported_browser.title")