UNPKG

page-loader-ivan

Version:
63 lines (46 loc) 4.76 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.loadFile = exports.getHtml = undefined; var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug); var _errno = require('errno'); var _errno2 = _interopRequireDefault(_errno); var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios); var _fs = require('mz/fs'); var _fs2 = _interopRequireDefault(_fs); var _fs3 = require('./fs'); var _LoaderError = require('./LoaderError'); var _LoaderError2 = _interopRequireDefault(_LoaderError); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var debug = (0, _debug2.default)('page-loader:loader'); var throwUnavailableLink = function throwUnavailableLink(err, link) { var message = 'unavailable link ' + link + ' due to reason: ' + err.message; throw new _LoaderError2.default(_errno2.default.code.EADDRNOTAVAIL, message); }; var getHtml = exports.getHtml = function getHtml(link) { return _axios2.default.get(link).catch(function (err) { return throwUnavailableLink(err, link); }).then(function (res) { return res.data; }); }; var loadFile = exports.loadFile = function loadFile(link, filepath) { debug('start load a file %s', link); return (0, _fs3.checkCreation)(filepath).then(function () { return (0, _axios2.default)({ method: 'get', url: link, responseType: 'arraybuffer' }); }).catch(function (err) { return throwUnavailableLink(err, link); }).then(function (res) { return _fs2.default.writeFile(filepath, res.data, 'base64'); }).then(function () { return debug('end load a file %s', link); }); }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sb2FkZXIuanMiXSwibmFtZXMiOlsiZGVidWciLCJ0aHJvd1VuYXZhaWxhYmxlTGluayIsImVyciIsImxpbmsiLCJtZXNzYWdlIiwiTG9hZGVyRXJyb3IiLCJlcnJvcnMiLCJjb2RlIiwiRUFERFJOT1RBVkFJTCIsImdldEh0bWwiLCJheGlvcyIsImdldCIsImNhdGNoIiwidGhlbiIsInJlcyIsImRhdGEiLCJsb2FkRmlsZSIsImZpbGVwYXRoIiwibWV0aG9kIiwidXJsIiwicmVzcG9uc2VUeXBlIiwiZnMiLCJ3cml0ZUZpbGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxRQUFRLHFCQUFZLG9CQUFaLENBQWQ7O0FBRUEsSUFBTUMsdUJBQXVCLFNBQXZCQSxvQkFBdUIsQ0FBQ0MsR0FBRCxFQUFNQyxJQUFOLEVBQWU7QUFDMUMsTUFBTUMsZ0NBQThCRCxJQUE5Qix3QkFBcURELElBQUlFLE9BQS9EO0FBQ0EsUUFBTyxJQUFJQyxxQkFBSixDQUFnQkMsZ0JBQU9DLElBQVAsQ0FBWUMsYUFBNUIsRUFBMkNKLE9BQTNDLENBQVA7QUFDRCxDQUhEOztBQUtPLElBQU1LLDRCQUFVLFNBQVZBLE9BQVU7QUFBQSxTQUNyQkMsZ0JBQU1DLEdBQU4sQ0FBVVIsSUFBVixFQUNHUyxLQURILENBQ1M7QUFBQSxXQUFPWCxxQkFBcUJDLEdBQXJCLEVBQTBCQyxJQUExQixDQUFQO0FBQUEsR0FEVCxFQUVHVSxJQUZILENBRVE7QUFBQSxXQUFPQyxJQUFJQyxJQUFYO0FBQUEsR0FGUixDQURxQjtBQUFBLENBQWhCOztBQUtBLElBQU1DLDhCQUFXLFNBQVhBLFFBQVcsQ0FBQ2IsSUFBRCxFQUFPYyxRQUFQLEVBQW9CO0FBQzFDakIsUUFBTSxzQkFBTixFQUE4QkcsSUFBOUI7QUFDQSxTQUFPLHdCQUFjYyxRQUFkLEVBQ0pKLElBREksQ0FDQztBQUFBLFdBQU0scUJBQU07QUFDaEJLLGNBQVEsS0FEUTtBQUVoQkMsV0FBS2hCLElBRlc7QUFHaEJpQixvQkFBYztBQUhFLEtBQU4sQ0FBTjtBQUFBLEdBREQsRUFNSlIsS0FOSSxDQU1FO0FBQUEsV0FBT1gscUJBQXFCQyxHQUFyQixFQUEwQkMsSUFBMUIsQ0FBUDtBQUFBLEdBTkYsRUFPSlUsSUFQSSxDQU9DO0FBQUEsV0FBT1EsYUFBR0MsU0FBSCxDQUFhTCxRQUFiLEVBQXVCSCxJQUFJQyxJQUEzQixFQUFpQyxRQUFqQyxDQUFQO0FBQUEsR0FQRCxFQVFKRixJQVJJLENBUUM7QUFBQSxXQUFNYixNQUFNLG9CQUFOLEVBQTRCRyxJQUE1QixDQUFOO0FBQUEsR0FSRCxDQUFQO0FBU0QsQ0FYTSIsImZpbGUiOiJsb2FkZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlRGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IGVycm9ycyBmcm9tICdlcnJubyc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IGZzIGZyb20gJ216L2ZzJztcbmltcG9ydCB7IGNoZWNrQ3JlYXRpb24gfSBmcm9tICcuL2ZzJztcbmltcG9ydCBMb2FkZXJFcnJvciBmcm9tICcuL0xvYWRlckVycm9yJztcblxuY29uc3QgZGVidWcgPSBjcmVhdGVEZWJ1ZygncGFnZS1sb2FkZXI6bG9hZGVyJyk7XG5cbmNvbnN0IHRocm93VW5hdmFpbGFibGVMaW5rID0gKGVyciwgbGluaykgPT4ge1xuICBjb25zdCBtZXNzYWdlID0gYHVuYXZhaWxhYmxlIGxpbmsgJHtsaW5rfSBkdWUgdG8gcmVhc29uOiAke2Vyci5tZXNzYWdlfWA7XG4gIHRocm93IChuZXcgTG9hZGVyRXJyb3IoZXJyb3JzLmNvZGUuRUFERFJOT1RBVkFJTCwgbWVzc2FnZSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEh0bWwgPSBsaW5rID0+XG4gIGF4aW9zLmdldChsaW5rKVxuICAgIC5jYXRjaChlcnIgPT4gdGhyb3dVbmF2YWlsYWJsZUxpbmsoZXJyLCBsaW5rKSlcbiAgICAudGhlbihyZXMgPT4gcmVzLmRhdGEpO1xuXG5leHBvcnQgY29uc3QgbG9hZEZpbGUgPSAobGluaywgZmlsZXBhdGgpID0+IHtcbiAgZGVidWcoJ3N0YXJ0IGxvYWQgYSBmaWxlICVzJywgbGluayk7XG4gIHJldHVybiBjaGVja0NyZWF0aW9uKGZpbGVwYXRoKVxuICAgIC50aGVuKCgpID0+IGF4aW9zKHtcbiAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICB1cmw6IGxpbmssXG4gICAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicsXG4gICAgfSkpXG4gICAgLmNhdGNoKGVyciA9PiB0aHJvd1VuYXZhaWxhYmxlTGluayhlcnIsIGxpbmspKVxuICAgIC50aGVuKHJlcyA9PiBmcy53cml0ZUZpbGUoZmlsZXBhdGgsIHJlcy5kYXRhLCAnYmFzZTY0JykpXG4gICAgLnRoZW4oKCkgPT4gZGVidWcoJ2VuZCBsb2FkIGEgZmlsZSAlcycsIGxpbmspKTtcbn07XG4iXX0=