@lskjs/server
Version:
LSK server.
65 lines (53 loc) • 4.27 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = fallback;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _mapValues = _interopRequireDefault(require("lodash/mapValues"));
var _pick = _interopRequireDefault(require("lodash/pick"));
function fallback() {
return _fallback.apply(this, arguments);
}
function _fallback() {
_fallback = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var _ref,
fallbackUrl,
req,
res,
url,
result,
file,
headers,
_args = arguments;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_ref = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, fallbackUrl = _ref.url, req = _ref.req, res = _ref.res;
url = "".concat(fallbackUrl, "/").concat(req.path);
_context.next = 4;
return fetch(url);
case 4:
result = _context.sent;
_context.next = 7;
return result.buffer();
case 7:
file = _context.sent;
headers = (0, _mapValues["default"])((0, _pick["default"])(result.headers.raw(), ['server', 'date', 'content-type', 'connection', 'last-modified', 'etag', 'expires', 'cache-control', 'accept-ranges', 'strict-transport-security']), function (a) {
return String(a);
});
return _context.abrupt("return", res.set(headers).send(file));
case 10:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return _fallback.apply(this, arguments);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9mYWxsYmFjay5qcyJdLCJuYW1lcyI6WyJmYWxsYmFjayIsImZhbGxiYWNrVXJsIiwidXJsIiwicmVxIiwicmVzIiwicGF0aCIsImZldGNoIiwicmVzdWx0IiwiYnVmZmVyIiwiZmlsZSIsImhlYWRlcnMiLCJyYXciLCJhIiwiU3RyaW5nIiwic2V0Iiwic2VuZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztTQUU4QkEsUTs7Ozs7NEZBQWY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwyRUFBeUQsRUFBekQsRUFBK0JDLFdBQS9CLFFBQTBCQyxHQUExQixFQUE0Q0MsR0FBNUMsUUFBNENBLEdBQTVDLEVBQWlEQyxHQUFqRCxRQUFpREEsR0FBakQ7QUFDUEYsWUFBQUEsR0FETyxhQUNFRCxXQURGLGNBQ2lCRSxHQUFHLENBQUNFLElBRHJCO0FBQUE7QUFBQSxtQkFFUUMsS0FBSyxDQUFDSixHQUFELENBRmI7O0FBQUE7QUFFUEssWUFBQUEsTUFGTztBQUFBO0FBQUEsbUJBR01BLE1BQU0sQ0FBQ0MsTUFBUCxFQUhOOztBQUFBO0FBR1BDLFlBQUFBLElBSE87QUFJUEMsWUFBQUEsT0FKTyxHQUlHLDJCQUNkLHNCQUFLSCxNQUFNLENBQUNHLE9BQVAsQ0FBZUMsR0FBZixFQUFMLEVBQTJCLENBQ3pCLFFBRHlCLEVBRXpCLE1BRnlCLEVBR3pCLGNBSHlCLEVBSXpCLFlBSnlCLEVBS3pCLGVBTHlCLEVBTXpCLE1BTnlCLEVBT3pCLFNBUHlCLEVBUXpCLGVBUnlCLEVBU3pCLGVBVHlCLEVBVXpCLDJCQVZ5QixDQUEzQixDQURjLEVBYWQsVUFBQUMsQ0FBQztBQUFBLHFCQUFJQyxNQUFNLENBQUNELENBQUQsQ0FBVjtBQUFBLGFBYmEsQ0FKSDtBQUFBLDZDQW1CTlIsR0FBRyxDQUFDVSxHQUFKLENBQVFKLE9BQVIsRUFBaUJLLElBQWpCLENBQXNCTixJQUF0QixDQW5CTTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1hcFZhbHVlcyBmcm9tICdsb2Rhc2gvbWFwVmFsdWVzJztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC9waWNrJztcblxuZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24gZmFsbGJhY2soeyB1cmw6IGZhbGxiYWNrVXJsLCByZXEsIHJlcyB9ID0ge30pIHtcbiAgY29uc3QgdXJsID0gYCR7ZmFsbGJhY2tVcmx9LyR7cmVxLnBhdGh9YDtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmV0Y2godXJsKTtcbiAgY29uc3QgZmlsZSA9IGF3YWl0IHJlc3VsdC5idWZmZXIoKTtcbiAgY29uc3QgaGVhZGVycyA9IG1hcFZhbHVlcyhcbiAgICBwaWNrKHJlc3VsdC5oZWFkZXJzLnJhdygpLCBbXG4gICAgICAnc2VydmVyJyxcbiAgICAgICdkYXRlJyxcbiAgICAgICdjb250ZW50LXR5cGUnLFxuICAgICAgJ2Nvbm5lY3Rpb24nLFxuICAgICAgJ2xhc3QtbW9kaWZpZWQnLFxuICAgICAgJ2V0YWcnLFxuICAgICAgJ2V4cGlyZXMnLFxuICAgICAgJ2NhY2hlLWNvbnRyb2wnLFxuICAgICAgJ2FjY2VwdC1yYW5nZXMnLFxuICAgICAgJ3N0cmljdC10cmFuc3BvcnQtc2VjdXJpdHknLFxuICAgIF0pLFxuICAgIGEgPT4gU3RyaW5nKGEpLFxuICApO1xuICByZXR1cm4gcmVzLnNldChoZWFkZXJzKS5zZW5kKGZpbGUpO1xufVxuIl19
//# sourceMappingURL=fallback.js.map