UNPKG

openapi-connect

Version:
63 lines 3.13 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDefaultMetricsWriters = exports.middleware = exports.handlers = exports.getOptions = exports.HttpError = exports.send = void 0; const fs = require("fs"); const yaml = require("js-yaml"); const url = require("url"); const swagger_1 = require("./helpers/swagger"); const errorHandling_1 = require("./middleware/errorHandling"); const health = require("./middleware/health"); const health_1 = require("./middleware/health"); const logging = require("./middleware/logging"); const oauth_1 = require("./middleware/oauth"); const options_1 = require("./options"); Object.defineProperty(exports, "getOptions", { enumerable: true, get: function () { return options_1.getOptions; } }); const server_1 = require("./server"); require("./types"); __exportStar(require("@targetprocess/swagger-tools"), exports); var response_1 = require("./helpers/response"); Object.defineProperty(exports, "send", { enumerable: true, get: function () { return response_1.send; } }); var HttpError_1 = require("./HttpError"); Object.defineProperty(exports, "HttpError", { enumerable: true, get: function () { return HttpError_1.HttpError; } }); exports.handlers = Object.freeze({ errorHandling: errorHandling_1.default, errorLogging: logging.errorLogging, requestLogging: logging.requestLogging, health: health_1.default, oauth: oauth_1.default }); exports.middleware = Object.freeze({ health }); var metricsWriters_1 = require("./helpers/metricsWriters"); Object.defineProperty(exports, "getDefaultMetricsWriters", { enumerable: true, get: function () { return metricsWriters_1.getDefaultMetricsWriters; } }); exports.default = (specPath, optionsOverrides) => { const options = (0, options_1.getOptions)(optionsOverrides); const { port, basePath } = options; const logger = options.logger; const spec = fs.readFileSync(specPath, 'utf8'); const swaggerDoc = (0, swagger_1.default)(yaml.safeLoad(spec), options); const server = (0, server_1.default)(swaggerDoc, options); server.listen(port, () => { logger.info(`Your server is listening on port ${port} (http://localhost:${port}${basePath})`); if (options.swaggerUI.enable) { logger.info(`Swagger-UI is available on ${url.resolve(url.resolve(`http://localhost:${port}`, basePath), 'docs')}`); } }); return server; }; //# sourceMappingURL=index.js.map