UNPKG

@lskjs/server

Version:

LSK server.

65 lines (53 loc) 4.27 kB
"use strict"; 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