mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
53 lines
1.2 KiB
TypeScript
53 lines
1.2 KiB
TypeScript
import * as SwaggerHapi from "swagger-hapi";
|
|
import * as Hapi from "hapi";
|
|
|
|
const app = new Hapi.Server();
|
|
|
|
module.exports = app; // for testing
|
|
|
|
const config: SwaggerHapi.Config = {
|
|
appRoot: __dirname // required config
|
|
};
|
|
|
|
SwaggerHapi.create(config, (err, swaggerHapi) => {
|
|
if (err) { throw err; }
|
|
|
|
const port = process.env.PORT || 10010;
|
|
app.connection({ port });
|
|
// app.address = function() {
|
|
// return { port };
|
|
// };
|
|
|
|
if (swaggerHapi.config.swagger !== undefined) {
|
|
const appRootFromMw = swaggerHapi.config.swagger.appRoot;
|
|
}
|
|
|
|
app.register(swaggerHapi.plugin, err => {
|
|
if (err) {
|
|
console.error("Failed to load plugin:", err);
|
|
return;
|
|
}
|
|
// stat app etc..
|
|
});
|
|
});
|
|
|
|
const swaggerSecurityHandlerCb = (err: Error) => {
|
|
// do nothing
|
|
};
|
|
|
|
const configComplex: SwaggerHapi.Config = {
|
|
appRoot: __dirname,
|
|
configDir: "some/directory",
|
|
controllersDirs: ["some/directory"],
|
|
fittingsDirs: ["some/directory"],
|
|
mockMode: true,
|
|
swaggerControllerPipe: 'swagger_controllers',
|
|
swaggerSecurityHandlers: {
|
|
// did not manage to research the typings of first 3 arguments
|
|
someHandlerName: ({ }, { }, { }, swaggerSecurityHandlerCb) => {
|
|
// do nothing
|
|
}
|
|
},
|
|
validateResponse: true
|
|
};
|