summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
d5b1111)
We're planning to extend LMNO past the original single game of Empires
soon. So, we adjust this middleware here to work for any game engine
prior to the game ID in the path, (and simply preserve that engine
string in the result of the redirect).
});
/* LMNO middleware to lookup the game. */
});
/* LMNO middleware to lookup the game. */
-app.use('/empires/:game_id([a-zA-Z0-9]{4})', (request, response, next) => {
+app.use('/:engine([^/]+)/:game_id([a-zA-Z0-9]{4})', (request, response, next) => {
+ const engine = request.params.engine;
const game_id = request.params.game_id;
const canon_id = lmno_canonize(game_id);
/* Redirect user to page with the canonical ID in it. */
if (game_id !== canon_id) {
const game_id = request.params.game_id;
const canon_id = lmno_canonize(game_id);
/* Redirect user to page with the canonical ID in it. */
if (game_id !== canon_id) {
- const new_url = request.originalUrl.replace("/empires/" + game_id,
- "/empires/" + canon_id);
+ const new_url = request.originalUrl.replace(`/${engine}/${game_id}`,
+ `/${engine}/${canon_id}`);
response.redirect(301, new_url);
return;
}
response.redirect(301, new_url);
return;
}