UNPKG

@webex/http-core

Version:

Core HTTP library for the Cisco Webex

47 lines (44 loc) 1.77 kB
"use strict"; var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property"); var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = request; var _events = require("events"); var _request2 = _interopRequireDefault(require("./request")); var _utils = require("./utils"); /*! * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file. */ /** * @param {Object} options * @returns {Promise} */ function request(options) { if (options.url) { options.uri = options.url; options.url = null; } options.headers = options.headers || {}; options.download = new _events.EventEmitter(); options.upload = new _events.EventEmitter(); return (0, _utils.intercept)(options, options.interceptors, 'Request').then(function () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } // if provided own request function, use that instead // there are use cases where developer may want to provide whatever request promise they wish // for example, may even use window.postMessages for parent iframe uses cases if (options.request) { return options.request.apply(options, [options].concat(args)); } return _request2.default.apply(void 0, [options].concat(args)); }).then(function () { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } return _utils.intercept.apply(void 0, [options, options.interceptors.slice().reverse(), 'Response'].concat(args)); }); } //# sourceMappingURL=index.js.map