mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
133 lines
3.6 KiB
TypeScript
133 lines
3.6 KiB
TypeScript
import * as SwaggerNodeRunner from "swagger-node-runner";
|
|
import express = require("express");
|
|
import connect = require("connect");
|
|
import * as Hapi from "hapi";
|
|
import * as restify from "restify";
|
|
import * as sails from "sails.io.js";
|
|
|
|
const config: SwaggerNodeRunner.Config = {
|
|
appRoot: __dirname
|
|
};
|
|
|
|
// Express middleware
|
|
const expressApp = express();
|
|
SwaggerNodeRunner.create(config, (err, runner) => {
|
|
if (err) {
|
|
throw err; // or handle error
|
|
}
|
|
const expressMiddleware = runner.expressMiddleware();
|
|
expressMiddleware.register(expressApp);
|
|
|
|
const port = process.env.PORT || 10010;
|
|
expressApp.listen(port);
|
|
});
|
|
|
|
// Connect middleware
|
|
const connectApp = connect();
|
|
SwaggerNodeRunner.create(config, (err, runner) => {
|
|
if (err) { throw err; }
|
|
|
|
const connectMiddleware = runner.connectMiddleware();
|
|
|
|
connectMiddleware.register(connectApp);
|
|
const port = process.env.PORT || 10010;
|
|
connectApp.listen(port);
|
|
});
|
|
|
|
// Sails Middleware (chain) test
|
|
SwaggerNodeRunner.create(config, (err, runner) => {
|
|
if (err) { throw err; }
|
|
|
|
const sailsMw = runner.sailsMiddleware();
|
|
if (typeof sailsMw.chain !== 'function' || !sailsMw.runner) {
|
|
// do nothing
|
|
}
|
|
});
|
|
|
|
// Hapi Middleware
|
|
const hapiapp = new Hapi.Server();
|
|
SwaggerNodeRunner.create(config, (err, runner) => {
|
|
if (err) { throw err; }
|
|
|
|
const port = process.env.PORT || 10010;
|
|
hapiapp.connection({ port });
|
|
// hapiapp.address = function() {
|
|
// return { port };
|
|
// };
|
|
const hapiMiddleware = runner.hapiMiddleware();
|
|
|
|
if (hapiMiddleware.config.swagger !== undefined) {
|
|
const appRootFromMw = hapiMiddleware.config.swagger.appRoot;
|
|
}
|
|
|
|
const pluginAttributes = hapiMiddleware.plugin.register.attributes.name + hapiMiddleware.plugin.register.attributes.version;
|
|
|
|
hapiapp.register(hapiMiddleware.plugin, err => {
|
|
if (err) {
|
|
console.error("Failed to load plugin:", err);
|
|
return;
|
|
}
|
|
// stat app etc..
|
|
});
|
|
});
|
|
|
|
// Restify Middelware
|
|
const app = restify.createServer();
|
|
SwaggerNodeRunner.create(config, (err, runner) => {
|
|
if (err) { throw err; }
|
|
|
|
const restifyMiddelware = runner.restifyMiddleware();
|
|
|
|
restifyMiddelware.register(app);
|
|
|
|
const port = process.env.PORT || 10010;
|
|
app.listen(port);
|
|
});
|
|
|
|
const swaggerSecurityHandlerCb = (err?: Error) => {
|
|
// do nothing
|
|
};
|
|
|
|
const configComplex: SwaggerNodeRunner.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) => {
|
|
swaggerSecurityHandlerCb(new Error('foo'));
|
|
}
|
|
},
|
|
validateResponse: true
|
|
};
|
|
|
|
const handlerWithoutError: SwaggerNodeRunner.Config = {
|
|
appRoot: __dirname,
|
|
swaggerSecurityHandlers: {
|
|
// did not manage to research the typings of first 3 arguments
|
|
someHandlerName: ({}, {}, {}, swaggerSecurityHandlerCb) => {
|
|
swaggerSecurityHandlerCb();
|
|
}
|
|
},
|
|
validateResponse: true
|
|
};
|
|
|
|
const handlerWithHeaders: SwaggerNodeRunner.Config = {
|
|
appRoot: __dirname,
|
|
swaggerSecurityHandlers: {
|
|
// did not manage to research the typings of first 3 arguments
|
|
someHandlerName: ({}, {}, {}, swaggerSecurityHandlerCb) => {
|
|
swaggerSecurityHandlerCb({
|
|
headers: {
|
|
foo: 'bar',
|
|
baz: 2,
|
|
some: ['a', 'b'],
|
|
}});
|
|
}
|
|
},
|
|
validateResponse: true
|
|
};
|