UNPKG

@m-ld/gateway

Version:

m-ld gateway for services

43 lines 4.18 kB
import { createServer, plugins, pre } from 'restify'; import LOG from 'loglevel'; import { formatter, HTML_FORMAT, JSON_LD_FORMAT } from './EndPoint.js'; import { ApiEndPoint } from './ApiEndPoint.js'; import { SubdomainEndPoint } from './SubdomainEndPoint.js'; import { SubdomainStateEndPoint } from './SubdomainStateEndPoint.js'; import { UserEndPoint } from './UserEndPoint.js'; import { DomainEndPoint } from './DomainEndPoint.js'; import { GatewayWebsite } from './GatewayWebsite.js'; export function setupGatewayHttp({ gateway, notifier, liquid }) { const server = createServer({ formatters: { 'application/ld+json': formatter(JSON_LD_FORMAT), 'text/html': formatter(HTML_FORMAT) } }).pre(pre.context()) .use(plugins.queryParser({ mapParams: true })) .use(plugins.authorizationParser()) .on('InternalServer', function (_req, _res, err, cb) { LOG.warn(err); cb(); }); if (LOG.getLevel() <= LOG.levels.DEBUG) { server.pre(function (req, _res, next) { if (LOG.getLevel() <= LOG.levels.TRACE) LOG.trace(req.method, req.url, { ...req.headers, authorization: undefined }); else LOG.debug(req.method, req.url); return next(); }); } // Set up endpoints new GatewayWebsite(gateway, server, notifier, liquid); const apiEndPoint = new ApiEndPoint(gateway, server); new UserEndPoint(apiEndPoint, notifier); new DomainEndPoint(apiEndPoint); const subdomainEndPoint = new SubdomainEndPoint(apiEndPoint); new SubdomainStateEndPoint(subdomainEndPoint); return server; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaHR0cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQXdCLE1BQU0sU0FBUyxDQUFDO0FBQzNFLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQztBQUMzQixPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSXJELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUkzRDtJQUNDLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQztRQUMxQixVQUFVLEVBQUU7WUFDVixxQkFBcUIsRUFBRSxTQUFTLENBQUMsY0FBYyxDQUFDO1lBQ2hELFdBQVcsRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDO1NBQ3BDO0tBQ0YsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDbEIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUM3QyxHQUFHLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDbEMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNqRCxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsRUFBRSxFQUFFLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztJQUNMLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUk7WUFDbEMsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLO2dCQUNwQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDN0IsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTO2lCQUN6QyxDQUFDLENBQUM7O2dCQUVILEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztLQUNKO0lBQ0QsbUJBQW1CO0lBQ25CLElBQUksY0FBYyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELE1BQU0sV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRCxJQUFJLFlBQVksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEMsSUFBSSxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdELElBQUksc0JBQXNCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM5QyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIn0=