@twilio/mcs-client 0.6.1 → 0.6.2-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/builds/browser.js +58 -455
- package/builds/browser.js.map +1 -1
- package/builds/lib.d.ts +3 -41
- package/builds/lib.js +58 -430
- package/builds/lib.js.map +1 -1
- package/builds/twilio-mcs-client.js +11294 -10620
- package/builds/twilio-mcs-client.min.js +37 -24
- package/dist/client.js +7 -7
- package/dist/client.js.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/media.js +2 -2
- package/dist/media.js.map +1 -1
- package/dist/node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/packages/mcs-client/package.json.js +1 -1
- package/dist/services/network.js +4 -4
- package/dist/services/network.js.map +1 -1
- package/dist/services/transport.js +4 -3
- package/dist/services/transport.js.map +1 -1
- package/package.json +7 -5
- package/dist/_virtual/rng-browser.js +0 -34
- package/dist/_virtual/rng-browser.js.map +0 -1
- package/dist/cancellable-promise.js +0 -98
- package/dist/cancellable-promise.js.map +0 -1
- package/dist/node_modules/uuid/index.js +0 -44
- package/dist/node_modules/uuid/index.js.map +0 -1
- package/dist/node_modules/uuid/lib/bytesToUuid.js +0 -60
- package/dist/node_modules/uuid/lib/bytesToUuid.js.map +0 -1
- package/dist/node_modules/uuid/lib/rng-browser.js +0 -65
- package/dist/node_modules/uuid/lib/rng-browser.js.map +0 -1
- package/dist/node_modules/uuid/v1.js +0 -146
- package/dist/node_modules/uuid/v1.js.map +0 -1
- package/dist/node_modules/uuid/v4.js +0 -66
- package/dist/node_modules/uuid/v4.js.map +0 -1
package/builds/browser.js
CHANGED
|
@@ -28,12 +28,12 @@ var global =
|
|
|
28
28
|
|
|
29
29
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
30
30
|
|
|
31
|
+
var shared = require('@twilio/shared');
|
|
32
|
+
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
31
33
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
32
|
-
require('core-js/modules/es.promise.js');
|
|
33
34
|
require('core-js/modules/es.array.iterator.js');
|
|
34
35
|
require('core-js/modules/es.map.js');
|
|
35
36
|
require('core-js/modules/web.dom-collections.iterator.js');
|
|
36
|
-
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
37
37
|
require('core-js/modules/web.dom-collections.for-each.js');
|
|
38
38
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
39
39
|
require('core-js/modules/es.array.from.js');
|
|
@@ -53,284 +53,28 @@ var declarativeTypeValidator = require('@twilio/declarative-type-validator');
|
|
|
53
53
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
54
54
|
|
|
55
55
|
function _interopNamespace(e) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
56
|
+
if (e && e.__esModule) return e;
|
|
57
|
+
var n = Object.create(null);
|
|
58
|
+
if (e) {
|
|
59
|
+
Object.keys(e).forEach(function (k) {
|
|
60
|
+
if (k !== 'default') {
|
|
61
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
62
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
63
|
+
enumerable: true,
|
|
64
|
+
get: function () { return e[k]; }
|
|
65
|
+
});
|
|
66
|
+
}
|
|
65
67
|
});
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
n["default"] = e;
|
|
70
|
-
return Object.freeze(n);
|
|
68
|
+
}
|
|
69
|
+
n["default"] = e;
|
|
70
|
+
return Object.freeze(n);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
74
73
|
var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
|
|
74
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
75
75
|
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
76
76
|
var log__namespace = /*#__PURE__*/_interopNamespace(log$2);
|
|
77
77
|
|
|
78
|
-
var rngBrowser = {exports: {}};
|
|
79
|
-
|
|
80
|
-
// browser this is a little complicated due to unknown quality of Math.random()
|
|
81
|
-
// and inconsistent support for the `crypto` API. We do the best we can via
|
|
82
|
-
// feature-detection
|
|
83
|
-
// getRandomValues needs to be invoked in a context where "this" is a Crypto
|
|
84
|
-
// implementation. Also, find the complete implementation of crypto on IE11.
|
|
85
|
-
|
|
86
|
-
var getRandomValues = typeof crypto != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto);
|
|
87
|
-
|
|
88
|
-
if (getRandomValues) {
|
|
89
|
-
// WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto
|
|
90
|
-
var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef
|
|
91
|
-
|
|
92
|
-
rngBrowser.exports = function whatwgRNG() {
|
|
93
|
-
getRandomValues(rnds8);
|
|
94
|
-
return rnds8;
|
|
95
|
-
};
|
|
96
|
-
} else {
|
|
97
|
-
// Math.random()-based (RNG)
|
|
98
|
-
//
|
|
99
|
-
// If all else fails, use Math.random(). It's fast, but is of unspecified
|
|
100
|
-
// quality.
|
|
101
|
-
var rnds = new Array(16);
|
|
102
|
-
|
|
103
|
-
rngBrowser.exports = function mathRNG() {
|
|
104
|
-
for (var i = 0, r; i < 16; i++) {
|
|
105
|
-
if ((i & 0x03) === 0) r = Math.random() * 0x100000000;
|
|
106
|
-
rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
return rnds;
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Convert array of 16 byte values to UUID string format of the form:
|
|
115
|
-
* XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
|
116
|
-
*/
|
|
117
|
-
var byteToHex = [];
|
|
118
|
-
|
|
119
|
-
for (var i = 0; i < 256; ++i) {
|
|
120
|
-
byteToHex[i] = (i + 0x100).toString(16).substr(1);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
function bytesToUuid$2(buf, offset) {
|
|
124
|
-
var i = offset || 0;
|
|
125
|
-
var bth = byteToHex; // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4
|
|
126
|
-
|
|
127
|
-
return [bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]]].join('');
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
var bytesToUuid_1 = bytesToUuid$2;
|
|
131
|
-
|
|
132
|
-
var rng$1 = rngBrowser.exports;
|
|
133
|
-
var bytesToUuid$1 = bytesToUuid_1; // **`v1()` - Generate time-based UUID**
|
|
134
|
-
//
|
|
135
|
-
// Inspired by https://github.com/LiosK/UUID.js
|
|
136
|
-
// and http://docs.python.org/library/uuid.html
|
|
137
|
-
|
|
138
|
-
var _nodeId;
|
|
139
|
-
|
|
140
|
-
var _clockseq; // Previous uuid creation time
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
var _lastMSecs = 0;
|
|
144
|
-
var _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details
|
|
145
|
-
|
|
146
|
-
function v1$1(options, buf, offset) {
|
|
147
|
-
var i = buf && offset || 0;
|
|
148
|
-
var b = buf || [];
|
|
149
|
-
options = options || {};
|
|
150
|
-
var node = options.node || _nodeId;
|
|
151
|
-
var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not
|
|
152
|
-
// specified. We do this lazily to minimize issues related to insufficient
|
|
153
|
-
// system entropy. See #189
|
|
154
|
-
|
|
155
|
-
if (node == null || clockseq == null) {
|
|
156
|
-
var seedBytes = rng$1();
|
|
157
|
-
|
|
158
|
-
if (node == null) {
|
|
159
|
-
// Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)
|
|
160
|
-
node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
if (clockseq == null) {
|
|
164
|
-
// Per 4.2.2, randomize (14 bit) clockseq
|
|
165
|
-
clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;
|
|
166
|
-
}
|
|
167
|
-
} // UUID timestamps are 100 nano-second units since the Gregorian epoch,
|
|
168
|
-
// (1582-10-15 00:00). JSNumbers aren't precise enough for this, so
|
|
169
|
-
// time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'
|
|
170
|
-
// (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime(); // Per 4.2.1.2, use count of uuid's generated during the current clock
|
|
174
|
-
// cycle to simulate higher resolution clock
|
|
175
|
-
|
|
176
|
-
var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)
|
|
177
|
-
|
|
178
|
-
var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression
|
|
179
|
-
|
|
180
|
-
if (dt < 0 && options.clockseq === undefined) {
|
|
181
|
-
clockseq = clockseq + 1 & 0x3fff;
|
|
182
|
-
} // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
|
|
183
|
-
// time interval
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {
|
|
187
|
-
nsecs = 0;
|
|
188
|
-
} // Per 4.2.1.2 Throw error if too many uuids are requested
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
if (nsecs >= 10000) {
|
|
192
|
-
throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec');
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
_lastMSecs = msecs;
|
|
196
|
-
_lastNSecs = nsecs;
|
|
197
|
-
_clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch
|
|
198
|
-
|
|
199
|
-
msecs += 12219292800000; // `time_low`
|
|
200
|
-
|
|
201
|
-
var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;
|
|
202
|
-
b[i++] = tl >>> 24 & 0xff;
|
|
203
|
-
b[i++] = tl >>> 16 & 0xff;
|
|
204
|
-
b[i++] = tl >>> 8 & 0xff;
|
|
205
|
-
b[i++] = tl & 0xff; // `time_mid`
|
|
206
|
-
|
|
207
|
-
var tmh = msecs / 0x100000000 * 10000 & 0xfffffff;
|
|
208
|
-
b[i++] = tmh >>> 8 & 0xff;
|
|
209
|
-
b[i++] = tmh & 0xff; // `time_high_and_version`
|
|
210
|
-
|
|
211
|
-
b[i++] = tmh >>> 24 & 0xf | 0x10; // include version
|
|
212
|
-
|
|
213
|
-
b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
|
|
214
|
-
|
|
215
|
-
b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`
|
|
216
|
-
|
|
217
|
-
b[i++] = clockseq & 0xff; // `node`
|
|
218
|
-
|
|
219
|
-
for (var n = 0; n < 6; ++n) {
|
|
220
|
-
b[i + n] = node[n];
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
return buf ? buf : bytesToUuid$1(b);
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
var v1_1 = v1$1;
|
|
227
|
-
|
|
228
|
-
var rng = rngBrowser.exports;
|
|
229
|
-
var bytesToUuid = bytesToUuid_1;
|
|
230
|
-
|
|
231
|
-
function v4$1(options, buf, offset) {
|
|
232
|
-
var i = buf && offset || 0;
|
|
233
|
-
|
|
234
|
-
if (typeof options == 'string') {
|
|
235
|
-
buf = options === 'binary' ? new Array(16) : null;
|
|
236
|
-
options = null;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
options = options || {};
|
|
240
|
-
var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
|
|
241
|
-
|
|
242
|
-
rnds[6] = rnds[6] & 0x0f | 0x40;
|
|
243
|
-
rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
|
|
244
|
-
|
|
245
|
-
if (buf) {
|
|
246
|
-
for (var ii = 0; ii < 16; ++ii) {
|
|
247
|
-
buf[i + ii] = rnds[ii];
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
return buf || bytesToUuid(rnds);
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
var v4_1 = v4$1;
|
|
255
|
-
|
|
256
|
-
var v1 = v1_1;
|
|
257
|
-
var v4 = v4_1;
|
|
258
|
-
var uuid = v4;
|
|
259
|
-
uuid.v1 = v1;
|
|
260
|
-
uuid.v4 = v4;
|
|
261
|
-
var uuid_1 = uuid;
|
|
262
|
-
|
|
263
|
-
/**
|
|
264
|
-
* Cancellable promise. Extends the functionality of the native Promise to include the cancel method.
|
|
265
|
-
*
|
|
266
|
-
* Example:
|
|
267
|
-
*
|
|
268
|
-
* ```ts
|
|
269
|
-
*
|
|
270
|
-
* const cancellableFetchPromise = new CancellablePromise(async (resolve, reject, onCancel) => {
|
|
271
|
-
* const request = fetch("https://example.com/");
|
|
272
|
-
*
|
|
273
|
-
* onCancel(() => request.cancel());
|
|
274
|
-
*
|
|
275
|
-
* try {
|
|
276
|
-
* const response = await request;
|
|
277
|
-
* resolve(response);
|
|
278
|
-
* } catch (err) {
|
|
279
|
-
* reject(err);
|
|
280
|
-
* }
|
|
281
|
-
* });
|
|
282
|
-
*
|
|
283
|
-
* cancellableFetchPromise.cancel();
|
|
284
|
-
* ```
|
|
285
|
-
*/
|
|
286
|
-
|
|
287
|
-
class CancellablePromise extends Promise {
|
|
288
|
-
/**
|
|
289
|
-
* Creates a new CancellablePromise.
|
|
290
|
-
* @param executor A callback used to initialize the promise. This callback is passed three arguments:
|
|
291
|
-
* a resolve callback used to resolve the promise with a value or the result of another promise,
|
|
292
|
-
* a reject callback used to reject the promise with a provided reason or error,
|
|
293
|
-
* and an onCancel callback used to define behavior of cancellation.
|
|
294
|
-
*/
|
|
295
|
-
constructor(executor) {
|
|
296
|
-
var outerId = uuid_1.v4();
|
|
297
|
-
var outerRejectPromise;
|
|
298
|
-
super((resolve, reject) => {
|
|
299
|
-
outerRejectPromise = reject;
|
|
300
|
-
return executor(value => {
|
|
301
|
-
CancellablePromise.cancellationMap.delete(outerId);
|
|
302
|
-
resolve(value);
|
|
303
|
-
}, reason => {
|
|
304
|
-
CancellablePromise.cancellationMap.delete(outerId);
|
|
305
|
-
reject(reason);
|
|
306
|
-
}, cancellationFunction => {
|
|
307
|
-
CancellablePromise.cancellationMap.set(outerId, cancellationFunction);
|
|
308
|
-
});
|
|
309
|
-
});
|
|
310
|
-
this.id = outerId;
|
|
311
|
-
this.rejectPromise = outerRejectPromise;
|
|
312
|
-
}
|
|
313
|
-
/**
|
|
314
|
-
* Cancels the promise and invokes the cancellation callback if it was defined during instantiation. Cancellation will result in the promise being rejected.
|
|
315
|
-
*/
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
cancel() {
|
|
319
|
-
var onCancel = CancellablePromise.cancellationMap.get(this.id);
|
|
320
|
-
onCancel === null || onCancel === void 0 ? void 0 : onCancel();
|
|
321
|
-
|
|
322
|
-
if (this.rejectPromise) {
|
|
323
|
-
this.catch(() => void 0);
|
|
324
|
-
this.rejectPromise(new Error("Promise was cancelled"));
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
return this;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
_defineProperty__default["default"](CancellablePromise, "cancellationMap", new Map());
|
|
333
|
-
|
|
334
78
|
/******************************************************************************
|
|
335
79
|
Copyright (c) Microsoft Corporation.
|
|
336
80
|
|
|
@@ -347,8 +91,8 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
347
91
|
***************************************************************************** */
|
|
348
92
|
function __decorate(decorators, target, key, desc) {
|
|
349
93
|
var c = arguments.length,
|
|
350
|
-
|
|
351
|
-
|
|
94
|
+
r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
|
|
95
|
+
d;
|
|
352
96
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {
|
|
353
97
|
if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
354
98
|
}
|
|
@@ -361,125 +105,99 @@ function __metadata(metadataKey, metadataValue) {
|
|
|
361
105
|
function prepareLine(prefix, args) {
|
|
362
106
|
return ["".concat(new Date().toISOString(), " MCS Client ").concat(prefix, ":")].concat(Array.from(args));
|
|
363
107
|
}
|
|
364
|
-
|
|
365
108
|
class Logger {
|
|
366
109
|
constructor(prefix) {
|
|
367
110
|
_defineProperty__default["default"](this, "prefix", "");
|
|
368
|
-
|
|
369
111
|
this.prefix = prefix !== null && prefix !== undefined && prefix.length > 0 ? prefix + " " : "";
|
|
370
112
|
}
|
|
371
|
-
|
|
372
113
|
static scope(prefix) {
|
|
373
114
|
return new Logger(prefix);
|
|
374
115
|
}
|
|
375
|
-
|
|
376
116
|
setLevel(level) {
|
|
377
117
|
log__namespace.setLevel(level);
|
|
378
118
|
}
|
|
379
|
-
|
|
380
119
|
static setLevel(level) {
|
|
381
120
|
log__namespace.setLevel(level);
|
|
382
121
|
}
|
|
383
122
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
|
384
|
-
|
|
385
|
-
|
|
386
123
|
trace() {
|
|
387
124
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
388
125
|
args[_key] = arguments[_key];
|
|
389
126
|
}
|
|
390
|
-
|
|
391
127
|
log__namespace.trace.apply(null, prepareLine(this.prefix + "T", args));
|
|
392
128
|
}
|
|
393
|
-
|
|
394
129
|
debug() {
|
|
395
130
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
396
131
|
args[_key2] = arguments[_key2];
|
|
397
132
|
}
|
|
398
|
-
|
|
399
133
|
log__namespace.debug.apply(null, prepareLine(this.prefix + "D", args));
|
|
400
134
|
}
|
|
401
|
-
|
|
402
135
|
info() {
|
|
403
136
|
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
404
137
|
args[_key3] = arguments[_key3];
|
|
405
138
|
}
|
|
406
|
-
|
|
407
139
|
log__namespace.info.apply(null, prepareLine(this.prefix + "I", args));
|
|
408
140
|
}
|
|
409
|
-
|
|
410
141
|
warn() {
|
|
411
142
|
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
412
143
|
args[_key4] = arguments[_key4];
|
|
413
144
|
}
|
|
414
|
-
|
|
415
145
|
log__namespace.warn.apply(null, prepareLine(this.prefix + "W", args));
|
|
416
146
|
}
|
|
417
|
-
|
|
418
147
|
error() {
|
|
419
148
|
for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
|
420
149
|
args[_key5] = arguments[_key5];
|
|
421
150
|
}
|
|
422
|
-
|
|
423
151
|
log__namespace.error.apply(null, prepareLine(this.prefix + "E", args));
|
|
424
152
|
}
|
|
425
|
-
|
|
426
153
|
static trace() {
|
|
427
154
|
for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
|
|
428
155
|
args[_key6] = arguments[_key6];
|
|
429
156
|
}
|
|
430
|
-
|
|
431
157
|
log__namespace.trace.apply(null, prepareLine("T", args));
|
|
432
158
|
}
|
|
433
|
-
|
|
434
159
|
static debug() {
|
|
435
160
|
for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
|
|
436
161
|
args[_key7] = arguments[_key7];
|
|
437
162
|
}
|
|
438
|
-
|
|
439
163
|
log__namespace.debug.apply(null, prepareLine("D", args));
|
|
440
164
|
}
|
|
441
|
-
|
|
442
165
|
static info() {
|
|
443
166
|
for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
|
|
444
167
|
args[_key8] = arguments[_key8];
|
|
445
168
|
}
|
|
446
|
-
|
|
447
169
|
log__namespace.info.apply(null, prepareLine("I", args));
|
|
448
170
|
}
|
|
449
|
-
|
|
450
171
|
static warn() {
|
|
451
172
|
for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
|
|
452
173
|
args[_key9] = arguments[_key9];
|
|
453
174
|
}
|
|
454
|
-
|
|
455
175
|
log__namespace.warn.apply(null, prepareLine("W", args));
|
|
456
176
|
}
|
|
457
|
-
|
|
458
177
|
static error() {
|
|
459
178
|
for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
|
|
460
179
|
args[_key10] = arguments[_key10];
|
|
461
180
|
}
|
|
462
|
-
|
|
463
181
|
log__namespace.error.apply(null, prepareLine("E", args));
|
|
464
182
|
}
|
|
465
|
-
|
|
466
183
|
}
|
|
467
184
|
|
|
468
185
|
var MINIMUM_RETRY_DELAY = 1000;
|
|
469
186
|
var MAXIMUM_RETRY_DELAY = 4000;
|
|
470
187
|
var MAXIMUM_ATTEMPTS_COUNT = 3;
|
|
471
188
|
var RETRY_WHEN_THROTTLED = true;
|
|
472
|
-
|
|
473
189
|
var regionalMcsHost = region => "https://mcs.".concat(region !== null && region !== void 0 ? region : "us1", ".twilio.com");
|
|
474
|
-
|
|
475
190
|
var isFullUrl = url => url.startsWith("http");
|
|
476
|
-
|
|
477
191
|
var fullUrl = (partUrl, region) => "".concat(!isFullUrl(partUrl) ? regionalMcsHost(region) : "").concat(partUrl);
|
|
478
|
-
|
|
479
192
|
class Configuration {
|
|
480
193
|
constructor(token, baseUrl, baseSetUrl, options) {
|
|
481
194
|
var _ref, _options$MCS, _ref2, _constructorOptions$r, _constructorOptions$r2, _constructorOptions$b;
|
|
482
|
-
|
|
195
|
+
_defineProperty__default["default"](this, "token", void 0);
|
|
196
|
+
_defineProperty__default["default"](this, "retryWhenThrottledOverride", void 0);
|
|
197
|
+
_defineProperty__default["default"](this, "backoffConfigOverride", void 0);
|
|
198
|
+
_defineProperty__default["default"](this, "mediaUrl", void 0);
|
|
199
|
+
_defineProperty__default["default"](this, "mediaSetUrl", void 0);
|
|
200
|
+
_defineProperty__default["default"](this, "region", void 0);
|
|
483
201
|
var constructorOptions = (_ref = (_options$MCS = options.MCS) !== null && _options$MCS !== void 0 ? _options$MCS : options) !== null && _ref !== void 0 ? _ref : {};
|
|
484
202
|
this.region = (_ref2 = (_constructorOptions$r = constructorOptions.region) !== null && _constructorOptions$r !== void 0 ? _constructorOptions$r : options.region) !== null && _ref2 !== void 0 ? _ref2 : 'us1';
|
|
485
203
|
this.mediaUrl = fullUrl(baseUrl, this.region);
|
|
@@ -488,7 +206,6 @@ class Configuration {
|
|
|
488
206
|
this.retryWhenThrottledOverride = (_constructorOptions$r2 = constructorOptions.retryWhenThrottledOverride) !== null && _constructorOptions$r2 !== void 0 ? _constructorOptions$r2 : RETRY_WHEN_THROTTLED;
|
|
489
207
|
this.backoffConfigOverride = (_constructorOptions$b = constructorOptions.backoffConfigOverride) !== null && _constructorOptions$b !== void 0 ? _constructorOptions$b : Configuration.backoffConfigDefault;
|
|
490
208
|
}
|
|
491
|
-
|
|
492
209
|
static get backoffConfigDefault() {
|
|
493
210
|
return {
|
|
494
211
|
min: MINIMUM_RETRY_DELAY,
|
|
@@ -496,15 +213,12 @@ class Configuration {
|
|
|
496
213
|
maxAttemptsCount: MAXIMUM_ATTEMPTS_COUNT
|
|
497
214
|
};
|
|
498
215
|
}
|
|
499
|
-
|
|
500
216
|
static get retryWhenThrottledDefault() {
|
|
501
217
|
return RETRY_WHEN_THROTTLED;
|
|
502
218
|
}
|
|
503
|
-
|
|
504
219
|
updateToken(token) {
|
|
505
220
|
this.token = token;
|
|
506
221
|
}
|
|
507
|
-
|
|
508
222
|
}
|
|
509
223
|
|
|
510
224
|
/**
|
|
@@ -518,49 +232,40 @@ class Configuration {
|
|
|
518
232
|
* @property {String} fileName - file name, if present, null otherwise
|
|
519
233
|
* @property {MediaCategory} category - attachment category
|
|
520
234
|
*/
|
|
521
|
-
|
|
522
235
|
class Media {
|
|
523
236
|
constructor(config, network, data) {
|
|
237
|
+
_defineProperty__default["default"](this, "state", void 0);
|
|
238
|
+
_defineProperty__default["default"](this, "network", void 0);
|
|
239
|
+
_defineProperty__default["default"](this, "config", void 0);
|
|
524
240
|
this.config = config;
|
|
525
241
|
this.network = network;
|
|
526
|
-
|
|
527
242
|
this._update(data);
|
|
528
243
|
}
|
|
529
|
-
|
|
530
244
|
get sid() {
|
|
531
245
|
return this.state.sid;
|
|
532
246
|
}
|
|
533
|
-
|
|
534
247
|
get serviceSid() {
|
|
535
248
|
return this.state.serviceSid;
|
|
536
249
|
}
|
|
537
|
-
|
|
538
250
|
get dateCreated() {
|
|
539
251
|
return this.state.dateCreated;
|
|
540
252
|
}
|
|
541
|
-
|
|
542
253
|
get dateUpdated() {
|
|
543
254
|
return this.state.dateUpdated;
|
|
544
255
|
}
|
|
545
|
-
|
|
546
256
|
get contentType() {
|
|
547
257
|
return this.state.contentType;
|
|
548
258
|
}
|
|
549
|
-
|
|
550
259
|
get size() {
|
|
551
260
|
return this.state.size;
|
|
552
261
|
}
|
|
553
262
|
/** @deprecated Use filename instead */
|
|
554
|
-
|
|
555
|
-
|
|
556
263
|
get fileName() {
|
|
557
264
|
return this.state.filename;
|
|
558
265
|
}
|
|
559
|
-
|
|
560
266
|
get filename() {
|
|
561
267
|
return this.state.filename;
|
|
562
268
|
}
|
|
563
|
-
|
|
564
269
|
get category() {
|
|
565
270
|
return this.state.category;
|
|
566
271
|
}
|
|
@@ -572,12 +277,9 @@ class Media {
|
|
|
572
277
|
* It is reasonable to build your own refresh logic upon these two functions: as soon as URL returned
|
|
573
278
|
* by getCachedContentUrl() returns 40x status you should call getContentUrl() to refresh it.
|
|
574
279
|
*/
|
|
575
|
-
|
|
576
|
-
|
|
577
280
|
getContentUrl() {
|
|
578
281
|
var _this = this;
|
|
579
|
-
|
|
580
|
-
return new CancellablePromise( /*#__PURE__*/function () {
|
|
282
|
+
return new shared.CancellablePromise( /*#__PURE__*/function () {
|
|
581
283
|
var _ref = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(resolve, reject, onCancel) {
|
|
582
284
|
var request, response;
|
|
583
285
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
@@ -589,21 +291,16 @@ class Media {
|
|
|
589
291
|
_context.prev = 2;
|
|
590
292
|
_context.next = 5;
|
|
591
293
|
return request;
|
|
592
|
-
|
|
593
294
|
case 5:
|
|
594
295
|
response = _context.sent;
|
|
595
|
-
|
|
596
296
|
_this._update(response.body);
|
|
597
|
-
|
|
598
297
|
resolve(_this.state.contentDirectUrl);
|
|
599
298
|
_context.next = 13;
|
|
600
299
|
break;
|
|
601
|
-
|
|
602
300
|
case 10:
|
|
603
301
|
_context.prev = 10;
|
|
604
302
|
_context.t0 = _context["catch"](2);
|
|
605
303
|
reject(_context.t0);
|
|
606
|
-
|
|
607
304
|
case 13:
|
|
608
305
|
case "end":
|
|
609
306
|
return _context.stop();
|
|
@@ -611,16 +308,13 @@ class Media {
|
|
|
611
308
|
}
|
|
612
309
|
}, _callee, null, [[2, 10]]);
|
|
613
310
|
}));
|
|
614
|
-
|
|
615
311
|
return function (_x, _x2, _x3) {
|
|
616
312
|
return _ref.apply(this, arguments);
|
|
617
313
|
};
|
|
618
314
|
}());
|
|
619
315
|
}
|
|
620
|
-
|
|
621
316
|
_update(data) {
|
|
622
317
|
var _data$links$content_d, _data$filename, _data$category, _data$is_multipart_up;
|
|
623
|
-
|
|
624
318
|
this.state = {
|
|
625
319
|
sid: data.sid,
|
|
626
320
|
serviceSid: data.service_sid,
|
|
@@ -640,40 +334,39 @@ class Media {
|
|
|
640
334
|
isMultipartUpstream: (_data$is_multipart_up = data.is_multipart_upstream) !== null && _data$is_multipart_up !== void 0 ? _data$is_multipart_up : false
|
|
641
335
|
};
|
|
642
336
|
}
|
|
643
|
-
|
|
644
337
|
}
|
|
645
338
|
|
|
646
339
|
class TransportError extends Error {
|
|
647
340
|
constructor(message, code, body, status, headers) {
|
|
648
341
|
super(message);
|
|
342
|
+
_defineProperty__default["default"](this, "code", void 0);
|
|
343
|
+
_defineProperty__default["default"](this, "body", void 0);
|
|
344
|
+
_defineProperty__default["default"](this, "status", void 0);
|
|
345
|
+
_defineProperty__default["default"](this, "headers", void 0);
|
|
649
346
|
this.code = code;
|
|
650
347
|
this.body = body;
|
|
651
348
|
this.status = status;
|
|
652
349
|
this.headers = headers;
|
|
653
350
|
}
|
|
654
|
-
|
|
655
351
|
}
|
|
656
352
|
|
|
657
|
-
var XHR =
|
|
658
|
-
|
|
353
|
+
var XHR =
|
|
354
|
+
// eslint-disable-next-line
|
|
355
|
+
global["XMLHttpRequest"] || {};
|
|
659
356
|
function parseResponseHeaders(headerString) {
|
|
660
357
|
if (!headerString) {
|
|
661
358
|
return {};
|
|
662
359
|
}
|
|
663
|
-
|
|
664
360
|
return headerString.split("\r\n").map(el => el.split(": ")).filter(el => el.length === 2 && el[1].length > 0).reduce((prev, curr) => {
|
|
665
361
|
prev[curr[0]] = curr[1];
|
|
666
362
|
return prev;
|
|
667
363
|
}, {});
|
|
668
364
|
}
|
|
669
|
-
|
|
670
365
|
function extractBody(xhr) {
|
|
671
366
|
var contentType = xhr.getResponseHeader("Content-Type");
|
|
672
|
-
|
|
673
367
|
if (!contentType || contentType.indexOf("application/json") !== 0 || xhr.responseText.length === 0) {
|
|
674
368
|
return xhr.responseText;
|
|
675
369
|
}
|
|
676
|
-
|
|
677
370
|
try {
|
|
678
371
|
return JSON.parse(xhr.responseText);
|
|
679
372
|
} catch (e) {
|
|
@@ -683,11 +376,9 @@ function extractBody(xhr) {
|
|
|
683
376
|
/**
|
|
684
377
|
* Provides generic network interface
|
|
685
378
|
*/
|
|
686
|
-
|
|
687
|
-
|
|
688
379
|
class Transport {
|
|
689
380
|
static request(method, url, headers, body) {
|
|
690
|
-
return new CancellablePromise((resolve, reject, onCancel) => {
|
|
381
|
+
return new shared.CancellablePromise((resolve, reject, onCancel) => {
|
|
691
382
|
var xhr = new XHR();
|
|
692
383
|
var isCancelled = false;
|
|
693
384
|
onCancel(() => {
|
|
@@ -695,15 +386,12 @@ class Transport {
|
|
|
695
386
|
isCancelled = true;
|
|
696
387
|
});
|
|
697
388
|
xhr.open(method, url, true);
|
|
698
|
-
|
|
699
389
|
xhr.onreadystatechange = function onreadystatechange() {
|
|
700
390
|
if (xhr.readyState !== 4 || isCancelled) {
|
|
701
391
|
return;
|
|
702
392
|
}
|
|
703
|
-
|
|
704
393
|
var responseHeaders = parseResponseHeaders(xhr.getAllResponseHeaders());
|
|
705
394
|
var body = extractBody(xhr);
|
|
706
|
-
|
|
707
395
|
if (200 <= xhr.status && xhr.status < 300) {
|
|
708
396
|
resolve({
|
|
709
397
|
status: xhr.status,
|
|
@@ -712,14 +400,11 @@ class Transport {
|
|
|
712
400
|
});
|
|
713
401
|
} else {
|
|
714
402
|
var _xhr$statusText;
|
|
715
|
-
|
|
716
403
|
var status = (_xhr$statusText = xhr.statusText) !== null && _xhr$statusText !== void 0 ? _xhr$statusText : "NONE";
|
|
717
404
|
var bodyRepresentation;
|
|
718
|
-
|
|
719
405
|
if (typeof body === "string") {
|
|
720
406
|
if (body && body.split("\n", 2).length === 1) bodyRepresentation = body;else {
|
|
721
407
|
var _body$replace$split$f;
|
|
722
|
-
|
|
723
408
|
// TODO: RTDSDK-3716: investigate why body is HTML string
|
|
724
409
|
var errorInfo = (_body$replace$split$f = body.replace(/<.*?>/g, "").split(/\r\n/g).filter(str => str.length)[0]) === null || _body$replace$split$f === void 0 ? void 0 : _body$replace$split$f.split(" ");
|
|
725
410
|
bodyRepresentation = (errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.length) > 2 ? errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.slice(1).join(" ") : "";
|
|
@@ -727,64 +412,51 @@ class Transport {
|
|
|
727
412
|
} else {
|
|
728
413
|
bodyRepresentation = JSON.stringify(body);
|
|
729
414
|
}
|
|
730
|
-
|
|
731
415
|
var message = "".concat(xhr.status, ": [").concat(status, "] ").concat(bodyRepresentation);
|
|
732
416
|
reject(new TransportError(message, xhr.status, body, status, responseHeaders));
|
|
733
417
|
}
|
|
734
418
|
};
|
|
735
|
-
|
|
736
419
|
for (var headerName in headers) {
|
|
737
420
|
xhr.setRequestHeader(headerName, headers[headerName]);
|
|
738
|
-
|
|
739
421
|
if (headerName === "Content-Type" && headers[headerName] === "application/json") {
|
|
740
422
|
body = JSON.stringify(body);
|
|
741
423
|
}
|
|
742
424
|
}
|
|
743
|
-
|
|
744
425
|
xhr.send(body);
|
|
745
426
|
});
|
|
746
427
|
}
|
|
747
428
|
/**
|
|
748
429
|
* Make a GET request by given URL
|
|
749
430
|
*/
|
|
750
|
-
|
|
751
|
-
|
|
752
431
|
get(url, headers) {
|
|
753
432
|
return Transport.request("GET", url, headers);
|
|
754
433
|
}
|
|
755
434
|
/**
|
|
756
435
|
* Make a POST request by given URL
|
|
757
436
|
*/
|
|
758
|
-
|
|
759
|
-
|
|
760
437
|
post(url, headers, body) {
|
|
761
438
|
return Transport.request("POST", url, headers, body);
|
|
762
439
|
}
|
|
763
|
-
|
|
764
440
|
}
|
|
765
441
|
|
|
766
442
|
var log$1 = Logger.scope("Network");
|
|
767
|
-
|
|
768
443
|
class Network {
|
|
769
444
|
constructor(config, transport) {
|
|
445
|
+
_defineProperty__default["default"](this, "config", void 0);
|
|
446
|
+
_defineProperty__default["default"](this, "transport", void 0);
|
|
770
447
|
this.config = config;
|
|
771
448
|
this.transport = transport;
|
|
772
449
|
}
|
|
773
|
-
|
|
774
450
|
backoffConfig() {
|
|
775
451
|
return Object.assign(Configuration.backoffConfigDefault, this.config.backoffConfigOverride);
|
|
776
452
|
}
|
|
777
|
-
|
|
778
453
|
retryWhenThrottled() {
|
|
779
454
|
var _ref, _this$config$retryWhe;
|
|
780
|
-
|
|
781
455
|
return (_ref = (_this$config$retryWhe = this.config.retryWhenThrottledOverride) !== null && _this$config$retryWhe !== void 0 ? _this$config$retryWhe : Configuration.retryWhenThrottledDefault) !== null && _ref !== void 0 ? _ref : false;
|
|
782
456
|
}
|
|
783
|
-
|
|
784
457
|
executeWithRetry(request, retryWhenThrottled) {
|
|
785
458
|
var _this = this;
|
|
786
|
-
|
|
787
|
-
return new CancellablePromise( /*#__PURE__*/function () {
|
|
459
|
+
return new shared.CancellablePromise( /*#__PURE__*/function () {
|
|
788
460
|
var _ref2 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(resolve, reject, onCancel) {
|
|
789
461
|
var retrier, codesToRetryOn;
|
|
790
462
|
return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
|
|
@@ -793,11 +465,9 @@ class Network {
|
|
|
793
465
|
case 0:
|
|
794
466
|
retrier = new operationRetrier.Retrier(_this.backoffConfig());
|
|
795
467
|
codesToRetryOn = [502, 503, 504];
|
|
796
|
-
|
|
797
468
|
if (retryWhenThrottled) {
|
|
798
469
|
codesToRetryOn.push(429);
|
|
799
470
|
}
|
|
800
|
-
|
|
801
471
|
onCancel(() => {
|
|
802
472
|
retrier.cancel();
|
|
803
473
|
retrier.removeAllListeners();
|
|
@@ -817,17 +487,14 @@ class Network {
|
|
|
817
487
|
});
|
|
818
488
|
_context.next = 5;
|
|
819
489
|
return requestPromise;
|
|
820
|
-
|
|
821
490
|
case 5:
|
|
822
491
|
result = _context.sent;
|
|
823
492
|
retrier.succeeded(result);
|
|
824
493
|
_context.next = 12;
|
|
825
494
|
break;
|
|
826
|
-
|
|
827
495
|
case 9:
|
|
828
496
|
_context.prev = 9;
|
|
829
497
|
_context.t0 = _context["catch"](0);
|
|
830
|
-
|
|
831
498
|
if (codesToRetryOn.indexOf(_context.t0.status) > -1) {
|
|
832
499
|
retrier.failed(_context.t0);
|
|
833
500
|
} else if (_context.t0.message === "Twilsock disconnected") {
|
|
@@ -839,7 +506,6 @@ class Network {
|
|
|
839
506
|
retrier.cancel();
|
|
840
507
|
reject(_context.t0);
|
|
841
508
|
}
|
|
842
|
-
|
|
843
509
|
case 12:
|
|
844
510
|
case "end":
|
|
845
511
|
return _context.stop();
|
|
@@ -853,7 +519,6 @@ class Network {
|
|
|
853
519
|
retrier.on("cancelled", err => reject(err));
|
|
854
520
|
retrier.on("failed", err => reject(err));
|
|
855
521
|
retrier.start();
|
|
856
|
-
|
|
857
522
|
case 9:
|
|
858
523
|
case "end":
|
|
859
524
|
return _context2.stop();
|
|
@@ -861,17 +526,14 @@ class Network {
|
|
|
861
526
|
}
|
|
862
527
|
}, _callee2);
|
|
863
528
|
}));
|
|
864
|
-
|
|
865
529
|
return function (_x, _x2, _x3) {
|
|
866
530
|
return _ref2.apply(this, arguments);
|
|
867
531
|
};
|
|
868
532
|
}());
|
|
869
533
|
}
|
|
870
|
-
|
|
871
534
|
get(url) {
|
|
872
535
|
var _this2 = this;
|
|
873
|
-
|
|
874
|
-
return new CancellablePromise( /*#__PURE__*/function () {
|
|
536
|
+
return new shared.CancellablePromise( /*#__PURE__*/function () {
|
|
875
537
|
var _ref4 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee3(resolve, reject, onCancel) {
|
|
876
538
|
var headers, request, response;
|
|
877
539
|
return _regeneratorRuntime__default["default"].wrap(function _callee3$(_context3) {
|
|
@@ -887,20 +549,17 @@ class Network {
|
|
|
887
549
|
_context3.prev = 4;
|
|
888
550
|
_context3.next = 7;
|
|
889
551
|
return request;
|
|
890
|
-
|
|
891
552
|
case 7:
|
|
892
553
|
response = _context3.sent;
|
|
893
554
|
log$1.trace("response", response);
|
|
894
555
|
resolve(response);
|
|
895
556
|
_context3.next = 16;
|
|
896
557
|
break;
|
|
897
|
-
|
|
898
558
|
case 12:
|
|
899
559
|
_context3.prev = 12;
|
|
900
560
|
_context3.t0 = _context3["catch"](4);
|
|
901
561
|
log$1.debug("get() error ".concat(_context3.t0));
|
|
902
562
|
reject(_context3.t0);
|
|
903
|
-
|
|
904
563
|
case 16:
|
|
905
564
|
case "end":
|
|
906
565
|
return _context3.stop();
|
|
@@ -908,37 +567,29 @@ class Network {
|
|
|
908
567
|
}
|
|
909
568
|
}, _callee3, null, [[4, 12]]);
|
|
910
569
|
}));
|
|
911
|
-
|
|
912
570
|
return function (_x4, _x5, _x6) {
|
|
913
571
|
return _ref4.apply(this, arguments);
|
|
914
572
|
};
|
|
915
573
|
}());
|
|
916
574
|
}
|
|
917
|
-
|
|
918
575
|
post(url, category, media, contentType, filename) {
|
|
919
576
|
var _this3 = this;
|
|
920
|
-
|
|
921
577
|
var headers = {
|
|
922
578
|
"X-Twilio-Token": this.config.token
|
|
923
579
|
};
|
|
924
|
-
|
|
925
580
|
if ((typeof FormData === "undefined" || !(media instanceof FormData)) && contentType) {
|
|
926
581
|
Object.assign(headers, {
|
|
927
582
|
"Content-Type": contentType
|
|
928
583
|
});
|
|
929
584
|
}
|
|
930
|
-
|
|
931
585
|
var fullUrl = new URL(url);
|
|
932
|
-
|
|
933
586
|
if (category) {
|
|
934
587
|
fullUrl.searchParams.append("Category", category);
|
|
935
588
|
}
|
|
936
|
-
|
|
937
589
|
if (filename) {
|
|
938
590
|
fullUrl.searchParams.append("Filename", filename);
|
|
939
591
|
}
|
|
940
|
-
|
|
941
|
-
return new CancellablePromise( /*#__PURE__*/function () {
|
|
592
|
+
return new shared.CancellablePromise( /*#__PURE__*/function () {
|
|
942
593
|
var _ref5 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee4(resolve, reject, onCancel) {
|
|
943
594
|
var request, response;
|
|
944
595
|
return _regeneratorRuntime__default["default"].wrap(function _callee4$(_context4) {
|
|
@@ -951,33 +602,26 @@ class Network {
|
|
|
951
602
|
_context4.prev = 3;
|
|
952
603
|
_context4.next = 6;
|
|
953
604
|
return request;
|
|
954
|
-
|
|
955
605
|
case 6:
|
|
956
606
|
response = _context4.sent;
|
|
957
607
|
_context4.next = 17;
|
|
958
608
|
break;
|
|
959
|
-
|
|
960
609
|
case 9:
|
|
961
610
|
_context4.prev = 9;
|
|
962
611
|
_context4.t0 = _context4["catch"](3);
|
|
963
|
-
|
|
964
612
|
if (!(global["XMLHttpRequest"] === undefined && media instanceof FormData)) {
|
|
965
613
|
_context4.next = 14;
|
|
966
614
|
break;
|
|
967
615
|
}
|
|
968
|
-
|
|
969
616
|
reject(new TypeError("Posting FormData supported only with browser engine's FormData"));
|
|
970
617
|
return _context4.abrupt("return");
|
|
971
|
-
|
|
972
618
|
case 14:
|
|
973
619
|
log$1.debug("post() error ".concat(_context4.t0));
|
|
974
620
|
reject(_context4.t0);
|
|
975
621
|
return _context4.abrupt("return");
|
|
976
|
-
|
|
977
622
|
case 17:
|
|
978
623
|
log$1.trace("response", response);
|
|
979
624
|
resolve(response);
|
|
980
|
-
|
|
981
625
|
case 19:
|
|
982
626
|
case "end":
|
|
983
627
|
return _context4.stop();
|
|
@@ -985,23 +629,20 @@ class Network {
|
|
|
985
629
|
}
|
|
986
630
|
}, _callee4, null, [[3, 9]]);
|
|
987
631
|
}));
|
|
988
|
-
|
|
989
632
|
return function (_x7, _x8, _x9) {
|
|
990
633
|
return _ref5.apply(this, arguments);
|
|
991
634
|
};
|
|
992
635
|
}());
|
|
993
636
|
}
|
|
994
|
-
|
|
995
637
|
}
|
|
996
638
|
|
|
997
|
-
var version = "0.6.1";
|
|
639
|
+
var version = "0.6.2-rc.1";
|
|
998
640
|
|
|
999
641
|
var _class;
|
|
1000
642
|
var log = Logger.scope("");
|
|
1001
643
|
/**
|
|
1002
644
|
* @classdesc A Client provides an interface for Media Content Service
|
|
1003
645
|
*/
|
|
1004
|
-
|
|
1005
646
|
exports["default"] = (_class = class Client {
|
|
1006
647
|
// eslint-disable-next-line
|
|
1007
648
|
|
|
@@ -1016,8 +657,11 @@ exports["default"] = (_class = class Client {
|
|
|
1016
657
|
*/
|
|
1017
658
|
constructor(token, baseUrl, baseSetUrl) {
|
|
1018
659
|
var _this$options$logLeve, _this$options$transpo;
|
|
1019
|
-
|
|
1020
660
|
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
661
|
+
_defineProperty__default["default"](this, "transport", void 0);
|
|
662
|
+
_defineProperty__default["default"](this, "options", void 0);
|
|
663
|
+
_defineProperty__default["default"](this, "network", void 0);
|
|
664
|
+
_defineProperty__default["default"](this, "config", void 0);
|
|
1021
665
|
this.options = options;
|
|
1022
666
|
this.options.logLevel = (_this$options$logLeve = this.options.logLevel) !== null && _this$options$logLeve !== void 0 ? _this$options$logLeve : "silent";
|
|
1023
667
|
this.config = new Configuration(token, baseUrl, baseSetUrl, this.options);
|
|
@@ -1032,14 +676,11 @@ exports["default"] = (_class = class Client {
|
|
|
1032
676
|
* @property {String} [logLevel='silent'] - The level of logging to enable. Valid options
|
|
1033
677
|
* (from strictest to broadest): ['silent', 'error', 'warn', 'info', 'debug', 'trace']
|
|
1034
678
|
*/
|
|
1035
|
-
|
|
1036
679
|
/**
|
|
1037
680
|
* Update the token used for Client operations
|
|
1038
681
|
* @param {String} token - The JWT string of the new token
|
|
1039
682
|
* @returns {void}
|
|
1040
683
|
*/
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
684
|
updateToken(token) {
|
|
1044
685
|
log.info("updateToken");
|
|
1045
686
|
this.config.updateToken(token);
|
|
@@ -1048,12 +689,9 @@ exports["default"] = (_class = class Client {
|
|
|
1048
689
|
* Gets media from media service
|
|
1049
690
|
* @param {String} sid - Media's SID
|
|
1050
691
|
*/
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
692
|
get(sid) {
|
|
1054
693
|
var _this = this;
|
|
1055
|
-
|
|
1056
|
-
return new CancellablePromise( /*#__PURE__*/function () {
|
|
694
|
+
return new shared.CancellablePromise( /*#__PURE__*/function () {
|
|
1057
695
|
var _ref = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(resolve, reject, onCancel) {
|
|
1058
696
|
var request, response;
|
|
1059
697
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
@@ -1065,18 +703,15 @@ exports["default"] = (_class = class Client {
|
|
|
1065
703
|
_context.prev = 2;
|
|
1066
704
|
_context.next = 5;
|
|
1067
705
|
return request;
|
|
1068
|
-
|
|
1069
706
|
case 5:
|
|
1070
707
|
response = _context.sent;
|
|
1071
708
|
resolve(new Media(_this.config, _this.network, response.body));
|
|
1072
709
|
_context.next = 12;
|
|
1073
710
|
break;
|
|
1074
|
-
|
|
1075
711
|
case 9:
|
|
1076
712
|
_context.prev = 9;
|
|
1077
713
|
_context.t0 = _context["catch"](2);
|
|
1078
714
|
reject(_context.t0);
|
|
1079
|
-
|
|
1080
715
|
case 12:
|
|
1081
716
|
case "end":
|
|
1082
717
|
return _context.stop();
|
|
@@ -1084,7 +719,6 @@ exports["default"] = (_class = class Client {
|
|
|
1084
719
|
}
|
|
1085
720
|
}, _callee, null, [[2, 9]]);
|
|
1086
721
|
}));
|
|
1087
|
-
|
|
1088
722
|
return function (_x, _x2, _x3) {
|
|
1089
723
|
return _ref.apply(this, arguments);
|
|
1090
724
|
};
|
|
@@ -1096,12 +730,9 @@ exports["default"] = (_class = class Client {
|
|
|
1096
730
|
* @param {String|Buffer|Blob} media - content to post
|
|
1097
731
|
* @param {MediaCategory|null} category - category for the media
|
|
1098
732
|
*/
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
733
|
post(contentType, media, category, filename) {
|
|
1102
734
|
var _this2 = this;
|
|
1103
|
-
|
|
1104
|
-
return new CancellablePromise( /*#__PURE__*/function () {
|
|
735
|
+
return new shared.CancellablePromise( /*#__PURE__*/function () {
|
|
1105
736
|
var _ref2 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(resolve, reject, onCancel) {
|
|
1106
737
|
var request, response;
|
|
1107
738
|
return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
|
|
@@ -1113,18 +744,15 @@ exports["default"] = (_class = class Client {
|
|
|
1113
744
|
_context2.prev = 2;
|
|
1114
745
|
_context2.next = 5;
|
|
1115
746
|
return request;
|
|
1116
|
-
|
|
1117
747
|
case 5:
|
|
1118
748
|
response = _context2.sent;
|
|
1119
749
|
resolve(new Media(_this2.config, _this2.network, response.body));
|
|
1120
750
|
_context2.next = 12;
|
|
1121
751
|
break;
|
|
1122
|
-
|
|
1123
752
|
case 9:
|
|
1124
753
|
_context2.prev = 9;
|
|
1125
754
|
_context2.t0 = _context2["catch"](2);
|
|
1126
755
|
reject(_context2.t0);
|
|
1127
|
-
|
|
1128
756
|
case 12:
|
|
1129
757
|
case "end":
|
|
1130
758
|
return _context2.stop();
|
|
@@ -1132,7 +760,6 @@ exports["default"] = (_class = class Client {
|
|
|
1132
760
|
}
|
|
1133
761
|
}, _callee2, null, [[2, 9]]);
|
|
1134
762
|
}));
|
|
1135
|
-
|
|
1136
763
|
return function (_x4, _x5, _x6) {
|
|
1137
764
|
return _ref2.apply(this, arguments);
|
|
1138
765
|
};
|
|
@@ -1145,12 +772,9 @@ exports["default"] = (_class = class Client {
|
|
|
1145
772
|
* @param {FormData} formData - form data to post
|
|
1146
773
|
* @param {MediaCategory|null} category - category for the media
|
|
1147
774
|
*/
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
775
|
postFormData(formData, category) {
|
|
1151
776
|
var _this3 = this;
|
|
1152
|
-
|
|
1153
|
-
return new CancellablePromise( /*#__PURE__*/function () {
|
|
777
|
+
return new shared.CancellablePromise( /*#__PURE__*/function () {
|
|
1154
778
|
var _ref3 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee3(resolve, reject, onCancel) {
|
|
1155
779
|
var request, response;
|
|
1156
780
|
return _regeneratorRuntime__default["default"].wrap(function _callee3$(_context3) {
|
|
@@ -1162,18 +786,15 @@ exports["default"] = (_class = class Client {
|
|
|
1162
786
|
_context3.prev = 2;
|
|
1163
787
|
_context3.next = 5;
|
|
1164
788
|
return request;
|
|
1165
|
-
|
|
1166
789
|
case 5:
|
|
1167
790
|
response = _context3.sent;
|
|
1168
791
|
resolve(new Media(_this3.config, _this3.network, response.body));
|
|
1169
792
|
_context3.next = 12;
|
|
1170
793
|
break;
|
|
1171
|
-
|
|
1172
794
|
case 9:
|
|
1173
795
|
_context3.prev = 9;
|
|
1174
796
|
_context3.t0 = _context3["catch"](2);
|
|
1175
797
|
reject(_context3.t0);
|
|
1176
|
-
|
|
1177
798
|
case 12:
|
|
1178
799
|
case "end":
|
|
1179
800
|
return _context3.stop();
|
|
@@ -1181,7 +802,6 @@ exports["default"] = (_class = class Client {
|
|
|
1181
802
|
}
|
|
1182
803
|
}, _callee3, null, [[2, 9]]);
|
|
1183
804
|
}));
|
|
1184
|
-
|
|
1185
805
|
return function (_x7, _x8, _x9) {
|
|
1186
806
|
return _ref3.apply(this, arguments);
|
|
1187
807
|
};
|
|
@@ -1191,12 +811,9 @@ exports["default"] = (_class = class Client {
|
|
|
1191
811
|
* Retrieve information about multiple media SIDs at the same time.
|
|
1192
812
|
* @param mediaSids Array of Media SIDs to get information from.
|
|
1193
813
|
*/
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
814
|
mediaSetGet(mediaSids) {
|
|
1197
815
|
var _this4 = this;
|
|
1198
|
-
|
|
1199
|
-
return new CancellablePromise( /*#__PURE__*/function () {
|
|
816
|
+
return new shared.CancellablePromise( /*#__PURE__*/function () {
|
|
1200
817
|
var _ref4 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee4(resolve, reject, onCancel) {
|
|
1201
818
|
var query, request, response, media;
|
|
1202
819
|
return _regeneratorRuntime__default["default"].wrap(function _callee4$(_context4) {
|
|
@@ -1214,7 +831,6 @@ exports["default"] = (_class = class Client {
|
|
|
1214
831
|
_context4.prev = 3;
|
|
1215
832
|
_context4.next = 6;
|
|
1216
833
|
return request;
|
|
1217
|
-
|
|
1218
834
|
case 6:
|
|
1219
835
|
response = _context4.sent;
|
|
1220
836
|
media = response.body.map(item => {
|
|
@@ -1222,18 +838,15 @@ exports["default"] = (_class = class Client {
|
|
|
1222
838
|
reject("Failed to obtain detailed information about Media items (failed SID ".concat(item.media_record.sid, ")"));
|
|
1223
839
|
return;
|
|
1224
840
|
}
|
|
1225
|
-
|
|
1226
841
|
return new Media(_this4.config, _this4.network, item.media_record);
|
|
1227
842
|
});
|
|
1228
843
|
resolve(media);
|
|
1229
844
|
_context4.next = 14;
|
|
1230
845
|
break;
|
|
1231
|
-
|
|
1232
846
|
case 11:
|
|
1233
847
|
_context4.prev = 11;
|
|
1234
848
|
_context4.t0 = _context4["catch"](3);
|
|
1235
849
|
reject(_context4.t0);
|
|
1236
|
-
|
|
1237
850
|
case 14:
|
|
1238
851
|
case "end":
|
|
1239
852
|
return _context4.stop();
|
|
@@ -1241,7 +854,6 @@ exports["default"] = (_class = class Client {
|
|
|
1241
854
|
}
|
|
1242
855
|
}, _callee4, null, [[3, 11]]);
|
|
1243
856
|
}));
|
|
1244
|
-
|
|
1245
857
|
return function (_x10, _x11, _x12) {
|
|
1246
858
|
return _ref4.apply(this, arguments);
|
|
1247
859
|
};
|
|
@@ -1251,12 +863,9 @@ exports["default"] = (_class = class Client {
|
|
|
1251
863
|
* Retrieve temporary URLs for a set of media SIDs.
|
|
1252
864
|
* @param mediaSids array of the media SIDs to get URLs from.
|
|
1253
865
|
*/
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
866
|
mediaSetGetContentUrls(mediaSids) {
|
|
1257
867
|
var _this5 = this;
|
|
1258
|
-
|
|
1259
|
-
return new CancellablePromise( /*#__PURE__*/function () {
|
|
868
|
+
return new shared.CancellablePromise( /*#__PURE__*/function () {
|
|
1260
869
|
var _ref5 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee5(resolve, reject, onCancel) {
|
|
1261
870
|
var query, request, response, urls;
|
|
1262
871
|
return _regeneratorRuntime__default["default"].wrap(function _callee5$(_context5) {
|
|
@@ -1274,7 +883,6 @@ exports["default"] = (_class = class Client {
|
|
|
1274
883
|
_context5.prev = 3;
|
|
1275
884
|
_context5.next = 6;
|
|
1276
885
|
return request;
|
|
1277
|
-
|
|
1278
886
|
case 6:
|
|
1279
887
|
response = _context5.sent;
|
|
1280
888
|
urls = new Map();
|
|
@@ -1283,18 +891,15 @@ exports["default"] = (_class = class Client {
|
|
|
1283
891
|
reject("Failed to obtain detailed information about Media items (failed SID ".concat(item.media_record.sid, ")"));
|
|
1284
892
|
return;
|
|
1285
893
|
}
|
|
1286
|
-
|
|
1287
894
|
urls.set(item.media_record.sid, item.media_record.links.content_direct_temporary);
|
|
1288
895
|
});
|
|
1289
896
|
resolve(urls);
|
|
1290
897
|
_context5.next = 15;
|
|
1291
898
|
break;
|
|
1292
|
-
|
|
1293
899
|
case 12:
|
|
1294
900
|
_context5.prev = 12;
|
|
1295
901
|
_context5.t0 = _context5["catch"](3);
|
|
1296
902
|
reject(_context5.t0);
|
|
1297
|
-
|
|
1298
903
|
case 15:
|
|
1299
904
|
case "end":
|
|
1300
905
|
return _context5.stop();
|
|
@@ -1302,22 +907,20 @@ exports["default"] = (_class = class Client {
|
|
|
1302
907
|
}
|
|
1303
908
|
}, _callee5, null, [[3, 12]]);
|
|
1304
909
|
}));
|
|
1305
|
-
|
|
1306
910
|
return function (_x13, _x14, _x15) {
|
|
1307
911
|
return _ref5.apply(this, arguments);
|
|
1308
912
|
};
|
|
1309
913
|
}());
|
|
1310
914
|
}
|
|
1311
|
-
|
|
1312
915
|
}, _defineProperty__default["default"](_class, "version", version), _class);
|
|
1313
|
-
|
|
1314
916
|
__decorate([declarativeTypeValidator.validateTypes(declarativeTypeValidator.nonEmptyString), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", void 0)], exports["default"].prototype, "updateToken", null);
|
|
917
|
+
__decorate([declarativeTypeValidator.validateTypesAsync(declarativeTypeValidator.nonEmptyString), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", shared.CancellablePromise)], exports["default"].prototype, "get", null);
|
|
918
|
+
exports["default"] = __decorate([declarativeTypeValidator.validateConstructorTypes(declarativeTypeValidator.nonEmptyString, declarativeTypeValidator.nonEmptyString, [declarativeTypeValidator.nonEmptyString, declarativeTypeValidator.literal(null)], [declarativeTypeValidator.pureObject, "undefined"]), __metadata("design:paramtypes", [String, String, Object, Object])], exports["default"]);
|
|
1315
919
|
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
exports.CancellablePromise = CancellablePromise;
|
|
920
|
+
Object.defineProperty(exports, 'CancellablePromise', {
|
|
921
|
+
enumerable: true,
|
|
922
|
+
get: function () { return shared.CancellablePromise; }
|
|
923
|
+
});
|
|
1321
924
|
exports.Client = exports["default"];
|
|
1322
925
|
exports.McsClient = exports["default"];
|
|
1323
926
|
exports.McsMedia = Media;
|