From 80f596922c20af3ba2e2d205eed171c07fa8dc72 Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Tue, 21 Apr 2020 02:41:48 -0300 Subject: [PATCH] [NEW] Error page when browser is not supported (#17372) Co-authored-by: Rodrigo Nascimento --- .../avatar/middlewares/browserVersion.js | 129 ++++++++++++++++++ server/routes/avatar/middlewares/index.js | 2 + 2 files changed, 131 insertions(+) create mode 100644 server/routes/avatar/middlewares/browserVersion.js diff --git a/server/routes/avatar/middlewares/browserVersion.js b/server/routes/avatar/middlewares/browserVersion.js new file mode 100644 index 00000000000..b430a97a94f --- /dev/null +++ b/server/routes/avatar/middlewares/browserVersion.js @@ -0,0 +1,129 @@ +import { WebApp } from 'meteor/webapp'; +import parser from 'ua-parser-js'; + +import { getURL } from '../../../../app/utils/lib/getURL'; + +return WebApp.connectHandlers.use(function(req, res, next) { + if (req.cookies.browser_version_check === 'bypass') { + return next(); + } + + const result = parser(req.headers['user-agent']); + if (req.cookies.browser_version_check !== 'force' && (!result || result.browser.name !== 'IE' || parseInt(result.browser.version) >= 11)) { + return next(); + } + + res.setHeader('content-type', 'text/html; charset=utf-8'); + + res.write(` + + +
+
+
Browser not supported
+ Check the documentation + Proceed anyway +
+
+ `); + + return res.end(); +}); diff --git a/server/routes/avatar/middlewares/index.js b/server/routes/avatar/middlewares/index.js index b85d9efc13c..9b55e2e53e7 100644 --- a/server/routes/avatar/middlewares/index.js +++ b/server/routes/avatar/middlewares/index.js @@ -2,4 +2,6 @@ import { WebApp } from 'meteor/webapp'; import { protectAvatars } from './auth'; +import './browserVersion'; + WebApp.connectHandlers.use('/avatar/', protectAvatars);