From 19ecfef42639e56a789c1f26860fe737c294148c Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Sat, 16 Jun 2018 16:03:29 +0200 Subject: [PATCH] API v4: proxy v3 routes --- website/server/middlewares/{v3.js => appRoutes.js} | 10 ++++++++-- website/server/middlewares/index.js | 5 ++--- 2 files changed, 10 insertions(+), 5 deletions(-) rename website/server/middlewares/{v3.js => appRoutes.js} (69%) diff --git a/website/server/middlewares/v3.js b/website/server/middlewares/appRoutes.js similarity index 69% rename from website/server/middlewares/v3.js rename to website/server/middlewares/appRoutes.js index 1829c41af49..254d3f11e7b 100644 --- a/website/server/middlewares/v3.js +++ b/website/server/middlewares/appRoutes.js @@ -5,7 +5,7 @@ import setupBody from './setupBody'; import routes from '../libs/routes'; import path from 'path'; -const API_CONTROLLERS_PATH = path.join(__dirname, '/../controllers/api-v3/'); +const API_V3_CONTROLLERS_PATH = path.join(__dirname, '/../controllers/api-v3/'); const TOP_LEVEL_CONTROLLERS_PATH = path.join(__dirname, '/../controllers/top-level/'); const v3app = express(); @@ -24,7 +24,13 @@ routes.walkControllers(topLevelRouter, TOP_LEVEL_CONTROLLERS_PATH); v3app.use('/', topLevelRouter); const v3Router = express.Router(); // eslint-disable-line new-cap -routes.walkControllers(v3Router, API_CONTROLLERS_PATH); +routes.walkControllers(v3Router, API_V3_CONTROLLERS_PATH); v3app.use('/api/v3', v3Router); +// API v4 proxies API v3 +// Can also disable or override with its own version v3 routes +const v4Router = express.Router(); // eslint-disable-line new-cap +routes.walkControllers(v4Router, API_V3_CONTROLLERS_PATH); +v3app.use('/api/v4', v4Router); + module.exports = v3app; diff --git a/website/server/middlewares/index.js b/website/server/middlewares/index.js index 501a8c3546c..9c9318cb658 100644 --- a/website/server/middlewares/index.js +++ b/website/server/middlewares/index.js @@ -21,7 +21,7 @@ import { } from './redirects'; import v1 from './v1'; import v2 from './v2'; -import v3 from './v3'; +import appRoutes from './appRoutes'; import responseHandler from './response'; import { attachTranslateFunction, @@ -89,12 +89,11 @@ module.exports = function attachMiddlewares (app, server) { } app.use('/api/v2', v2); app.use('/api/v1', v1); - app.use(v3); // the main app, also setup top-level routes + app.use(appRoutes); // the main app, also setup top-level routes staticMiddleware(app); app.use(notFoundHandler); // Error handler middleware, define as the last one. - // Used for v3 and v1, v2 will keep using its own error handler app.use(errorHandler); };