@yucom/rest-server
Version:
Preconfigured rest-server
45 lines • 1.97 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const context_1 = __importDefault(require("@yucom/context"));
const log_1 = __importDefault(require("@yucom/log"));
const express_1 = __importDefault(require("express"));
const body_parser_1 = __importDefault(require("body-parser"));
const cookie_parser_1 = __importDefault(require("cookie-parser"));
const compression_1 = __importDefault(require("compression"));
const request_handler_1 = require("./request-handler/request-handler");
const error_handler_middleware_1 = require("./middleware/error-handler.middleware");
const common_middleware_1 = require("./middleware/common.middleware");
const cors_1 = __importDefault(require("cors"));
const Router = express_1.default.Router;
let log = log_1.default.create('rest-server:server');
const defaultOptions = {
corsAllowedOrigins: '*'
};
function CreateServer(options) {
options = Object.assign({}, defaultOptions, options);
const pathsRecord = {};
const serverRoutes = Router();
const app = express_1.default();
app.use(cors_1.default({
origin: options.corsAllowedOrigins,
optionsSuccessStatus: 200,
allowedHeaders: '*'
}));
app.use(body_parser_1.default.json());
app.use(compression_1.default());
app.use(cookie_parser_1.default());
app.use(context_1.default.middleware);
app.use(common_middleware_1.headersMiddleware);
app.use(serverRoutes);
app.use(common_middleware_1.pageNotFoundMiddleware(pathsRecord));
app.use(error_handler_middleware_1.ErrorHandlerMiddleware);
log.info('Server created. Use listen to start.');
return new request_handler_1.RequestHandler(app, serverRoutes, pathsRecord);
}
exports.CreateServer = CreateServer;
const $id = '$id';
exports.$id = $id;
//# sourceMappingURL=server.js.map