Skip to content

Commit a481d1a

Browse files
1 parent f203710 commit a481d1a

File tree

1 file changed

+26
-20
lines changed

1 file changed

+26
-20
lines changed

libV2/server/middleware.js

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
const oasTools = require('oas-tools');
1+
const oasTools = require('@oas-tools/core');
22
const path = require('path');
3-
const { promisify } = require('util');
43
const { ipCheck } = require('arsenal');
54
const config = require('../config');
65
const { logger, buildRequestLogger } = require('../utils');
@@ -9,33 +8,40 @@ const { translateAndAuthorize } = require('../vault');
98
const metricHandlers = require('./metrics');
109

1110
const oasOptions = {
12-
controllers: path.join(__dirname, './API/'),
13-
checkControllers: true,
14-
loglevel: config.logging.level === 'trace' ? 'debug' : 'info', // oasTools is very verbose
15-
customLogger: logger,
16-
customErrorHandling: true,
17-
strict: true,
18-
router: true,
19-
validator: true,
20-
docs: {
21-
apiDocs: '/openapi.json',
22-
apiDocsPrefix: '',
11+
packageJSON: path.join(__dirname, '../../package.json'),
12+
oasFile: path.join(__dirname, '../../openapi.yaml'),
13+
logger: {
14+
level: config.logging.level === 'trace' ? 'debug' : 'info', // oasTools is very verbose
15+
customLogger: logger,
16+
},
17+
middleware: {
18+
router: {
19+
controllers: path.join(__dirname, './API/'),
20+
disable: false,
21+
},
22+
validator: {
23+
strict: true,
24+
requestValidation: true,
25+
responseValidation: true,
26+
},
27+
swagger: {
28+
disable: true,
29+
path: '/_/docs',
30+
},
31+
error: {
32+
disable: false,
33+
},
2334
},
2435
ignoreUnknownFormats: true,
2536
};
2637

2738
// If in development mode, enable the swagger ui
2839
if (config.development) {
29-
oasOptions.docs = {
30-
swaggerUi: '/_/docs',
31-
swaggerUiPrefix: '',
32-
...oasOptions.docs,
33-
};
40+
oasOptions.middleware.swagger.disable = false;
3441
}
3542

3643
async function initializeOasTools(spec, app) {
37-
oasTools.configure(oasOptions);
38-
return promisify(oasTools.initialize)(spec, app);
44+
return oasTools.initialize(app, oasOptions);
3945
}
4046

4147
function loggerMiddleware(req, res, next) {

0 commit comments

Comments
 (0)