Browse Source

fix: requests without user-agent causing error 500 (#7749)

Craig Reyenga 4 weeks ago
parent
commit
cd77f36120
2 changed files with 2 additions and 3 deletions
  1. 1 2
      server/controllers/auth.js
  2. 1 1
      server/controllers/common.js

+ 1 - 2
server/controllers/auth.js

@@ -94,8 +94,7 @@ router.all('/login/:strategy/callback', async (req, res, next) => {
  */
  */
 router.post('/login', bruteforce.prevent, async (req, res, next) => {
 router.post('/login', bruteforce.prevent, async (req, res, next) => {
   _.set(res.locals, 'pageMeta.title', 'Login')
   _.set(res.locals, 'pageMeta.title', 'Login')
-
-  if (req.query.legacy || req.get('user-agent').indexOf('Trident') >= 0) {
+  if (req.query.legacy || (req.get('user-agent') && req.get('user-agent').indexOf('Trident') >= 0)) {
     try {
     try {
       const authResult = await WIKI.models.users.login({
       const authResult = await WIKI.models.users.login({
         strategy: req.body.strategy,
         strategy: req.body.strategy,

+ 1 - 1
server/controllers/common.js

@@ -507,7 +507,7 @@ router.get('/*', async (req, res, next) => {
           injectCode.body = `${injectCode.body}\n${page.extra.js}`
           injectCode.body = `${injectCode.body}\n${page.extra.js}`
         }
         }
 
 
-        if (req.query.legacy || req.get('user-agent').indexOf('Trident') >= 0) {
+        if (req.query.legacy || (req.get('user-agent') && req.get('user-agent').indexOf('Trident') >= 0)) {
           // -> Convert page TOC
           // -> Convert page TOC
           if (_.isString(page.toc)) {
           if (_.isString(page.toc)) {
             page.toc = JSON.parse(page.toc)
             page.toc = JSON.parse(page.toc)