blob: c4bc05308d300769975e56c40157dd6a7838b03c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
/** @typedef {import('@adonisjs/framework/src/Request')} Request */
/** @typedef {import('@adonisjs/framework/src/Response')} Response */
/** @typedef {import('@adonisjs/framework/src/View')} View */
class HandleDoubleSlash {
/**
* @param {object} ctx
* @param {Request} ctx.request
* @param {Function} next
*/
// eslint-disable-next-line consistent-return
async handle({ request, response }, next) {
// Redirect requests that contain duplicate slashes to the right path
if (request.url().includes('//')) {
return response.redirect(
request.url().replace(/\/{2,}/g, '/'),
);
}
await next();
}
}
module.exports = HandleDoubleSlash;
|