Add language routing

This commit is contained in:
Berkeley Martinez
2016-06-17 12:35:10 -07:00
parent ee4f1dbb73
commit 078560c3ba
18 changed files with 305 additions and 79 deletions

View File

@@ -0,0 +1,27 @@
import supportedLanguages from '../../common/utils/supported-languages';
import passThroughs from '../utils/lang-passthrough-urls';
// import debug from 'debug';
// const log = debug('fcc:controller:lang-redirect');
const toLowerCase = String.prototype.toLowerCase;
export default function redirectLang(app) {
app.all('*', function(req, res, next) {
const { url, path } = req;
const langCode = toLowerCase.call(url.split('/')[1]);
if (passThroughs[langCode]) {
return next();
}
if (supportedLanguages[langCode]) {
req.flash('errors', {
msg: `404: We couldn't find path ${ path }`
});
return res.redirect('/map');
}
// language aware redirect
return res.redirect(url);
});
}