@webex/webex-core
Version:
Plugin handling for Cisco Webex
83 lines (81 loc) • 3.71 kB
JavaScript
;
var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
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 = void 0;
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
var _httpCore = require("@webex/http-core");
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /*!
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
*/
/**
* Allows the user of the SDK to set default options that apply every http request made by the SDK
* For example a default timeout could be set for all requests like this :
*
* webex = WebexSdk.init({
* credentials: {
* supertoken: superToken
* },
* config: {
* credentials: {
* client_id,
* client_secret
* },
* defaultRequestOptions: {
* timeout: 15000
* }
* }
* });
*/
var DefaultOptionsInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
(0, _inherits2.default)(DefaultOptionsInterceptor, _Interceptor);
var _super = _createSuper(DefaultOptionsInterceptor);
function DefaultOptionsInterceptor() {
(0, _classCallCheck2.default)(this, DefaultOptionsInterceptor);
return _super.apply(this, arguments);
}
(0, _createClass2.default)(DefaultOptionsInterceptor, [{
key: "onRequest",
value:
/**
* @see Interceptor#onRequest
* @param {Object} options
* @returns {Object}
*/
function onRequest(options) {
var defaultOptions = this.webex.config.defaultRequestOptions;
if (!defaultOptions) {
return options;
}
(0, _keys.default)(defaultOptions).forEach(function (key) {
// don't override any existing option properties
if (!(0, _keys.default)(options).includes(key)) {
options[key] = defaultOptions[key];
}
});
return options;
}
}], [{
key: "create",
value:
/**
* @returns {DefaultOptionsInterceptor}
*/
function create() {
return new DefaultOptionsInterceptor({
webex: this
});
}
}]);
return DefaultOptionsInterceptor;
}(_httpCore.Interceptor);
//# sourceMappingURL=default-options.js.map