codimd/lib/middleware/redirectWithoutTrailingSlashes.ts
Raccoon cf630ede21
ts: lib/middleware/redirectWithoutTrailingSlashes.js
Signed-off-by: Raccoon <raccoon@hackmd.io>
2021-06-16 18:35:21 +08:00

18 lines
540 B
TypeScript

import {Request, Response} from "express";
import * as config from "../config";
export = function (req: Request, res: Response, next) {
if (req.method === 'GET' && req.path.substr(-1) === '/' && req.path.length > 1) {
const queryString = req.url.slice(req.path.length)
const urlPath = req.path.slice(0, -1)
let serverURL = config.serverURL
if (config.urlPath) {
serverURL = serverURL.slice(0, -(config.urlPath.length + 1))
}
res.redirect(301, serverURL + urlPath + queryString)
} else {
next()
}
}