hapi-bouncer
Version:
hapi bouncer proxy
85 lines (59 loc) • 2.21 kB
JavaScript
;
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