Skip to content

Commit 4cf823d

Browse files
committed
Added Swagger dependency (AppConfigPlugin)
Removed redundant prefix in Route path
1 parent 86b377e commit 4cf823d

4 files changed

Lines changed: 25 additions & 2 deletions

File tree

‎templates/AppConfigPlugin.js‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
'use strict';
2+
3+
/**
4+
* Middleware to store the app configuration.
5+
*/
6+
module.exports = (config) => {
7+
return (req, res, next) => {
8+
if (config) {
9+
Object.freeze(config);
10+
11+
req.plugin('config', config);
12+
} else {
13+
throw Error('Missing configuration');
14+
}
15+
16+
next();
17+
};
18+
};

‎templates/MANIFEST‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
{{pkgName}}/{{appName}}/package.json
1010
{{pkgName}}/{{appName}}/src/routes/Example.js
1111
{{pkgName}}/{{appName}}/src/middleware/AccessControlHeaders.js
12+
{{pkgName}}/{{appName}}/src/middleware/AppConfigPlugin.js
1213
{{pkgName}}/{{appName}}/src/middleware/SwaggerUIViewer.js
1314
{{pkgName}}/{{appName}}/src/app-async.js
1415
{{pkgName}}/{{appName}}/src/app.js

‎templates/app-async.js‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ const Router = require('@lambda-lambda-lambda/router');
44
const config = require(`${APP_ROOT}/config.json`);
55

66
const accessControlHeaders = require(`${APP_ROOT}/middleware/AccessControlHeaders`);
7+
const appConfigPlugin = require(`${APP_ROOT}/middleware/AppConfigPlugin`);
78
const swaggerUIViewer = require(`${APP_ROOT}/middleware/SwaggerUIViewer`);
89

910
const swaggerJson = require(`${APP_ROOT}/swagger.json`);
@@ -19,13 +20,14 @@ exports.handler = async (event, context, callback) => {
1920

2021
// Middleware (order is important).
2122
router.use(accessControlHeaders);
23+
router.use(appConfigPlugin(config));
2224
router.use(swaggerUIViewer(swaggerJson));
2325

2426
// Send root response.
2527
router.get('/', function(req, res) {
2628

2729
// Redirect to Swagger viewer.
28-
res.setHeader('Location', `/${config.router.prefix}/?swagger-ui=html`);
30+
res.setHeader('Location', `${config.router.prefix}?swagger-ui=html`);
2931
res.status(301).send();
3032
});
3133

‎templates/app.js‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ const Router = require('@lambda-lambda-lambda/router');
44
const config = require(`${APP_ROOT}/config.json`);
55

66
const accessControlHeaders = require(`${APP_ROOT}/middleware/AccessControlHeaders`);
7+
const appConfigPlugin = require(`${APP_ROOT}/middleware/AppConfigPlugin`);
78
const swaggerUIViewer = require(`${APP_ROOT}/middleware/SwaggerUIViewer`);
89

910
const swaggerJson = require(`${APP_ROOT}/swagger.json`);
@@ -19,13 +20,14 @@ exports.handler = (event, context, callback) => {
1920

2021
// Middleware (order is important).
2122
router.use(accessControlHeaders);
23+
router.use(appConfigPlugin(config));
2224
router.use(swaggerUIViewer(swaggerJson));
2325

2426
// Send root response.
2527
router.get('/', function(req, res) {
2628

2729
// Redirect to Swagger viewer.
28-
res.setHeader('Location', `/${config.router.prefix}/?swagger-ui=html`);
30+
res.setHeader('Location', `${config.router.prefix}?swagger-ui=html`);
2931
res.status(301).send();
3032
});
3133

0 commit comments

Comments
 (0)