All files / middlewares encodeSpace.js

37.5% Statements 3/8
0% Branches 0/4
50% Functions 1/2
37.5% Lines 3/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 1515x   15x 15x                      
const { encodeSpace } = require('../util/path')
 
module.exports = (crowi, app) => {
  return (req, res, next) => {
    const path = decodeURIComponent(req.originalUrl || '')
    const encodedPath = encodeSpace(path)
 
    if (path !== encodedPath) {
      return res.redirect(encodedPath)
    }
 
    return next()
  }
}