UNPKG

hapi-bouncer

Version:
85 lines (59 loc) 2.21 kB
'use strict'; exports.__esModule = true; exports.connectionDefaults = undefined; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; exports.default = createServer; var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug); var _hapi = require('hapi'); var _inert = require('inert'); var _inert2 = _interopRequireDefault(_inert); var _h2o = require('h2o2'); var _h2o2 = _interopRequireDefault(_h2o); var _proxyHapiPlugin = require('./proxyHapiPlugin'); var _proxyHapiPlugin2 = _interopRequireDefault(_proxyHapiPlugin); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var debug = (0, _debug2.default)('hapi-bouncer:createServer:debug'); var connectionDefaults = exports.connectionDefaults = { host: '0.0.0.0', routes: { cors: { credentials: true, headers: ['Accept', 'Authorization', 'Content-Type', 'If-None-Match', 'Accept-Language'] } } }; function showError(err) { if (err) { console.error(err); process.exit(1); } } function createServer(_ref) { var connections = _ref.connections, host = _ref.host, routes = _ref.routes, links = _ref.links; var server = new _hapi.Server({ debug: { request: ['error'] } }); server.register([_inert2.default, _h2o2.default], showError); var conns = connections.map(function (connection) { var proxyHapiPluginWithOptions = { register: _proxyHapiPlugin2.default, options: { links: connection.links } }; var conn = server.connection(_extends({}, connectionDefaults, { host: host, routes: routes }, connection.server)); conn.register([proxyHapiPluginWithOptions], showError); return conn; }); return server; } //# sourceMappingURL=createServer.js.map