aboutsummaryrefslogtreecommitdiffstats
path: root/app/Middleware/HandleDoubleSlash.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/Middleware/HandleDoubleSlash.js')
-rw-r--r--app/Middleware/HandleDoubleSlash.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/app/Middleware/HandleDoubleSlash.js b/app/Middleware/HandleDoubleSlash.js
new file mode 100644
index 0000000..456b774
--- /dev/null
+++ b/app/Middleware/HandleDoubleSlash.js
@@ -0,0 +1,24 @@
1'use strict'
2/** @typedef {import('@adonisjs/framework/src/Request')} Request */
3/** @typedef {import('@adonisjs/framework/src/Response')} Response */
4/** @typedef {import('@adonisjs/framework/src/View')} View */
5
6class HandleDoubleSlash {
7 /**
8 * @param {object} ctx
9 * @param {Request} ctx.request
10 * @param {Function} next
11 */
12 async handle ({ request, response }, next) {
13 // Redirect requests that contain duplicate slashes to the right path
14 if (request.url().includes('//')) {
15 return response.redirect(
16 request.url().replace(/\/{2,}/g, '/'),
17 );
18 }
19
20 await next();
21 }
22}
23
24module.exports = HandleDoubleSlash