UNPKG

pubnub

Version:

Publish & Subscribe Real-time Messaging with PubNub

108 lines (89 loc) 3.48 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _operations = _interopRequireDefault(require("../../constants/operations")); var _utils = _interopRequireDefault(require("../../utils")); var endpoint = { getOperation: function getOperation() { return _operations["default"].PNDownloadFileOperation; }, validateParams: function validateParams(_, params) { if (!(params === null || params === void 0 ? void 0 : params.channel)) { return "channel can't be empty"; } if (!(params === null || params === void 0 ? void 0 : params.name)) { return "name can't be empty"; } if (!(params === null || params === void 0 ? void 0 : params.id)) { return "id can't be empty"; } }, useGetFile: function useGetFile() { return true; }, getFileURL: function getFileURL(_ref, params) { var config = _ref.config; return "/v1/files/".concat(config.subscribeKey, "/channels/").concat(_utils["default"].encodeString(params.channel), "/files/").concat(params.id, "/").concat(params.name); }, getRequestTimeout: function getRequestTimeout(_ref2) { var config = _ref2.config; return config.getTransactionTimeout(); }, isAuthSupported: function isAuthSupported() { return true; }, ignoreBody: function ignoreBody() { return true; }, forceBuffered: function forceBuffered() { return true; }, prepareParams: function prepareParams() { return {}; }, handleResponse: function () { var _handleResponse = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(_ref3, res, params) { var _res$response$name; var PubNubFile, config, cryptography, body, _params$cipherKey; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: PubNubFile = _ref3.PubNubFile, config = _ref3.config, cryptography = _ref3.cryptography; body = res.response.body; if (!(PubNubFile.supportsEncryptFile && config.cipherKey)) { _context.next = 6; break; } _context.next = 5; return cryptography.decrypt((_params$cipherKey = params.cipherKey) !== null && _params$cipherKey !== void 0 ? _params$cipherKey : config.cipherKey, body); case 5: body = _context.sent; case 6: return _context.abrupt("return", PubNubFile.create({ data: body, name: (_res$response$name = res.response.name) !== null && _res$response$name !== void 0 ? _res$response$name : params.name, mimeType: res.response.type })); case 7: case "end": return _context.stop(); } } }, _callee); })); function handleResponse(_x, _x2, _x3) { return _handleResponse.apply(this, arguments); } return handleResponse; }() }; var _default = endpoint; exports["default"] = _default; module.exports = exports.default; //# sourceMappingURL=download_file.js.map