@atlaskit/media-client 25.0.2 → 25.0.3

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/media-client
2
2
 
3
+ ## 25.0.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [#43076](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/43076) [`43317a91142`](https://bitbucket.org/atlassian/atlassian-frontend/commits/43317a91142) - Added new internal interface MediaApi
8
+
3
9
  ## 25.0.2
4
10
 
5
11
  ### Patch Changes
@@ -0,0 +1,631 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getMediaRegion = exports.getMediaEnvironment = exports.MediaStore = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+ var _mediaCommon = require("@atlaskit/media-common");
14
+ var _constants = require("../../constants");
15
+ var _artifacts = require("../../models/artifacts");
16
+ var _request3 = require("../../utils/request");
17
+ var _helpers = require("../../utils/request/helpers");
18
+ var _resolveAuth = require("./resolveAuth");
19
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21
+ var MEDIA_API_REGION = 'media-api-region';
22
+ var MEDIA_API_ENVIRONMENT = 'media-api-environment';
23
+ var defaultImageOptions = {
24
+ 'max-age': _constants.FILE_CACHE_MAX_AGE,
25
+ allowAnimated: true,
26
+ mode: 'crop'
27
+ };
28
+ var extendImageParams = function extendImageParams(params) {
29
+ var fetchMaxRes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
30
+ return _objectSpread(_objectSpread(_objectSpread({}, defaultImageOptions), params), fetchMaxRes ? {
31
+ width: _constants.MAX_RESOLUTION,
32
+ height: _constants.MAX_RESOLUTION
33
+ } : {});
34
+ };
35
+ var jsonHeaders = {
36
+ Accept: 'application/json',
37
+ 'Content-Type': 'application/json'
38
+ };
39
+ var MediaStore = exports.MediaStore = /*#__PURE__*/function () {
40
+ function MediaStore(config) {
41
+ var _this = this;
42
+ (0, _classCallCheck2.default)(this, MediaStore);
43
+ (0, _defineProperty2.default)(this, "resolveAuth", function (authContext) {
44
+ return (0, _resolveAuth.resolveAuth)(_this.config.authProvider, authContext);
45
+ });
46
+ (0, _defineProperty2.default)(this, "resolveInitialAuth", function () {
47
+ return (0, _resolveAuth.resolveInitialAuth)(_this.config.initialAuth);
48
+ });
49
+ this.config = config;
50
+ }
51
+ (0, _createClass2.default)(MediaStore, [{
52
+ key: "removeCollectionFile",
53
+ value: function () {
54
+ var _removeCollectionFile = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(id, collectionName, occurrenceKey, traceContext) {
55
+ var metadata, body, options;
56
+ return _regenerator.default.wrap(function _callee$(_context) {
57
+ while (1) switch (_context.prev = _context.next) {
58
+ case 0:
59
+ metadata = {
60
+ method: 'PUT',
61
+ endpoint: '/collection/{collectionName}'
62
+ };
63
+ body = {
64
+ actions: [{
65
+ action: 'remove',
66
+ item: {
67
+ type: 'file',
68
+ id: id,
69
+ occurrenceKey: occurrenceKey
70
+ }
71
+ }]
72
+ };
73
+ options = _objectSpread(_objectSpread({}, metadata), {}, {
74
+ authContext: {
75
+ collectionName: collectionName
76
+ },
77
+ headers: {
78
+ Accept: 'application/json',
79
+ 'Content-Type': 'application/json'
80
+ },
81
+ body: JSON.stringify(body),
82
+ traceContext: traceContext
83
+ });
84
+ _context.next = 5;
85
+ return this.request("/collection/".concat(collectionName), options);
86
+ case 5:
87
+ case "end":
88
+ return _context.stop();
89
+ }
90
+ }, _callee, this);
91
+ }));
92
+ function removeCollectionFile(_x, _x2, _x3, _x4) {
93
+ return _removeCollectionFile.apply(this, arguments);
94
+ }
95
+ return removeCollectionFile;
96
+ }()
97
+ }, {
98
+ key: "createUpload",
99
+ value: function createUpload() {
100
+ var createUpTo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
101
+ var collectionName = arguments.length > 1 ? arguments[1] : undefined;
102
+ var traceContext = arguments.length > 2 ? arguments[2] : undefined;
103
+ var metadata = {
104
+ method: 'POST',
105
+ endpoint: '/upload'
106
+ };
107
+ var options = _objectSpread(_objectSpread({}, metadata), {}, {
108
+ authContext: {
109
+ collectionName: collectionName
110
+ },
111
+ params: {
112
+ createUpTo: createUpTo
113
+ },
114
+ headers: {
115
+ Accept: 'application/json'
116
+ },
117
+ traceContext: traceContext
118
+ });
119
+ return this.request("/upload", options).then((0, _helpers.createMapResponseToJson)(metadata));
120
+ }
121
+ }, {
122
+ key: "uploadChunk",
123
+ value: function () {
124
+ var _uploadChunk = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(etag, blob, uploadId, partNumber, collectionName, traceContext) {
125
+ var metadata, options;
126
+ return _regenerator.default.wrap(function _callee2$(_context2) {
127
+ while (1) switch (_context2.prev = _context2.next) {
128
+ case 0:
129
+ metadata = {
130
+ method: 'PUT',
131
+ endpoint: '/chunk/{etag}'
132
+ };
133
+ options = _objectSpread(_objectSpread({}, metadata), {}, {
134
+ params: {
135
+ uploadId: uploadId,
136
+ partNumber: partNumber
137
+ },
138
+ authContext: {
139
+ collectionName: collectionName
140
+ },
141
+ body: blob,
142
+ traceContext: traceContext
143
+ });
144
+ _context2.next = 4;
145
+ return this.request("/chunk/".concat(etag), options);
146
+ case 4:
147
+ case "end":
148
+ return _context2.stop();
149
+ }
150
+ }, _callee2, this);
151
+ }));
152
+ function uploadChunk(_x5, _x6, _x7, _x8, _x9, _x10) {
153
+ return _uploadChunk.apply(this, arguments);
154
+ }
155
+ return uploadChunk;
156
+ }()
157
+ }, {
158
+ key: "probeChunks",
159
+ value: function probeChunks(chunks, uploadId, collectionName, traceContext) {
160
+ var metadata = {
161
+ method: 'POST',
162
+ endpoint: '/chunk/probe'
163
+ };
164
+ var options = _objectSpread(_objectSpread({}, metadata), {}, {
165
+ params: {
166
+ uploadId: uploadId
167
+ },
168
+ authContext: {
169
+ collectionName: collectionName
170
+ },
171
+ headers: jsonHeaders,
172
+ body: JSON.stringify({
173
+ chunks: chunks
174
+ }),
175
+ traceContext: traceContext
176
+ });
177
+ return this.request("/chunk/probe", options).then((0, _helpers.createMapResponseToJson)(metadata));
178
+ }
179
+ }, {
180
+ key: "createFileFromUpload",
181
+ value: function createFileFromUpload(body) {
182
+ var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
183
+ var traceContext = arguments.length > 2 ? arguments[2] : undefined;
184
+ var metadata = {
185
+ method: 'POST',
186
+ endpoint: '/file/upload'
187
+ };
188
+ var options = _objectSpread(_objectSpread({}, metadata), {}, {
189
+ authContext: {
190
+ collectionName: params.collection
191
+ },
192
+ params: params,
193
+ headers: jsonHeaders,
194
+ body: JSON.stringify(body),
195
+ traceContext: traceContext
196
+ });
197
+ return this.request('/file/upload', options).then((0, _helpers.createMapResponseToJson)(metadata));
198
+ }
199
+ }, {
200
+ key: "getRejectedResponseFromDescriptor",
201
+ value: function getRejectedResponseFromDescriptor(descriptor, limit) {
202
+ return {
203
+ fileId: descriptor.fileId,
204
+ error: {
205
+ code: 'ExceedMaxFileSizeLimit',
206
+ title: 'The expected file size exceeded the maximum size limit.',
207
+ href: 'https://dt-api-filestore--app.ap-southeast-2.dev.atl-paas.net/api.html#BadRequest',
208
+ limit: limit,
209
+ size: descriptor.size
210
+ }
211
+ };
212
+ }
213
+ }, {
214
+ key: "touchFiles",
215
+ value: function () {
216
+ var _touchFiles = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(body) {
217
+ var params,
218
+ traceContext,
219
+ metadata,
220
+ options,
221
+ _args3 = arguments;
222
+ return _regenerator.default.wrap(function _callee3$(_context3) {
223
+ while (1) switch (_context3.prev = _context3.next) {
224
+ case 0:
225
+ params = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
226
+ traceContext = _args3.length > 2 ? _args3[2] : undefined;
227
+ metadata = {
228
+ method: 'POST',
229
+ endpoint: '/upload/createWithFiles'
230
+ };
231
+ options = _objectSpread(_objectSpread({}, metadata), {}, {
232
+ authContext: {
233
+ collectionName: params.collection
234
+ },
235
+ headers: jsonHeaders,
236
+ body: JSON.stringify(body),
237
+ traceContext: traceContext
238
+ });
239
+ return _context3.abrupt("return", this.request('/upload/createWithFiles', options).then((0, _helpers.createMapResponseToJson)(metadata)));
240
+ case 5:
241
+ case "end":
242
+ return _context3.stop();
243
+ }
244
+ }, _callee3, this);
245
+ }));
246
+ function touchFiles(_x11) {
247
+ return _touchFiles.apply(this, arguments);
248
+ }
249
+ return touchFiles;
250
+ }()
251
+ }, {
252
+ key: "getFile",
253
+ value: function getFile(fileId) {
254
+ var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
255
+ var traceContext = arguments.length > 2 ? arguments[2] : undefined;
256
+ var metadata = {
257
+ method: 'GET',
258
+ endpoint: '/file/{fileId}'
259
+ };
260
+ var options = _objectSpread(_objectSpread({}, metadata), {}, {
261
+ authContext: {
262
+ collectionName: params.collection
263
+ },
264
+ params: params,
265
+ traceContext: traceContext
266
+ });
267
+ return this.request("/file/".concat(fileId), options).then((0, _helpers.createMapResponseToJson)(metadata));
268
+ }
269
+ }, {
270
+ key: "getFileImageURL",
271
+ value: function () {
272
+ var _getFileImageURL = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(id, params) {
273
+ var _ref, collectionName, auth;
274
+ return _regenerator.default.wrap(function _callee4$(_context4) {
275
+ while (1) switch (_context4.prev = _context4.next) {
276
+ case 0:
277
+ _ref = params || {}, collectionName = _ref.collection;
278
+ _context4.next = 3;
279
+ return this.resolveAuth({
280
+ collectionName: collectionName
281
+ });
282
+ case 3:
283
+ auth = _context4.sent;
284
+ return _context4.abrupt("return", this.createFileImageURL(id, auth, params));
285
+ case 5:
286
+ case "end":
287
+ return _context4.stop();
288
+ }
289
+ }, _callee4, this);
290
+ }));
291
+ function getFileImageURL(_x12, _x13) {
292
+ return _getFileImageURL.apply(this, arguments);
293
+ }
294
+ return getFileImageURL;
295
+ }() // TODO Create ticket in case Trace Id can be supported through query params
296
+ }, {
297
+ key: "getFileImageURLSync",
298
+ value: function getFileImageURLSync(id, params) {
299
+ var auth = this.resolveInitialAuth();
300
+ return this.createFileImageURL(id, auth, params);
301
+ }
302
+ }, {
303
+ key: "createFileImageURL",
304
+ value: function createFileImageURL(id, auth, params) {
305
+ var options = {
306
+ params: extendImageParams(params),
307
+ auth: auth
308
+ };
309
+ return (0, _helpers.createUrl)("".concat(auth.baseUrl, "/file/").concat(id, "/image"), options);
310
+ }
311
+ }, {
312
+ key: "getFileBinaryURL",
313
+ value: function () {
314
+ var _getFileBinaryURL = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(id, collectionName) {
315
+ var auth, options;
316
+ return _regenerator.default.wrap(function _callee5$(_context5) {
317
+ while (1) switch (_context5.prev = _context5.next) {
318
+ case 0:
319
+ _context5.next = 2;
320
+ return this.resolveAuth({
321
+ collectionName: collectionName
322
+ });
323
+ case 2:
324
+ auth = _context5.sent;
325
+ options = {
326
+ params: {
327
+ dl: true,
328
+ collection: collectionName,
329
+ 'max-age': _constants.FILE_CACHE_MAX_AGE
330
+ },
331
+ auth: auth
332
+ };
333
+ return _context5.abrupt("return", (0, _helpers.createUrl)("".concat(auth.baseUrl, "/file/").concat(id, "/binary"), options));
334
+ case 5:
335
+ case "end":
336
+ return _context5.stop();
337
+ }
338
+ }, _callee5, this);
339
+ }));
340
+ function getFileBinaryURL(_x14, _x15) {
341
+ return _getFileBinaryURL.apply(this, arguments);
342
+ }
343
+ return getFileBinaryURL;
344
+ }()
345
+ }, {
346
+ key: "getArtifactURL",
347
+ value: function () {
348
+ var _getArtifactURL = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(artifacts, artifactName, collectionName) {
349
+ var artifactUrl, auth, options;
350
+ return _regenerator.default.wrap(function _callee6$(_context6) {
351
+ while (1) switch (_context6.prev = _context6.next) {
352
+ case 0:
353
+ artifactUrl = (0, _artifacts.getArtifactUrl)(artifacts, artifactName);
354
+ if (artifactUrl) {
355
+ _context6.next = 3;
356
+ break;
357
+ }
358
+ throw new Error("artifact ".concat(artifactName, " not found"));
359
+ case 3:
360
+ _context6.next = 5;
361
+ return this.resolveAuth({
362
+ collectionName: collectionName
363
+ });
364
+ case 5:
365
+ auth = _context6.sent;
366
+ options = {
367
+ params: {
368
+ collection: collectionName,
369
+ 'max-age': _constants.FILE_CACHE_MAX_AGE
370
+ },
371
+ auth: auth
372
+ };
373
+ return _context6.abrupt("return", (0, _helpers.createUrl)("".concat(auth.baseUrl).concat(artifactUrl), options));
374
+ case 8:
375
+ case "end":
376
+ return _context6.stop();
377
+ }
378
+ }, _callee6, this);
379
+ }));
380
+ function getArtifactURL(_x16, _x17, _x18) {
381
+ return _getArtifactURL.apply(this, arguments);
382
+ }
383
+ return getArtifactURL;
384
+ }()
385
+ }, {
386
+ key: "getImage",
387
+ value: function () {
388
+ var _getImage = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(id, params, controller, fetchMaxRes, traceContext) {
389
+ var isWebpSupported, headers, metadata, options;
390
+ return _regenerator.default.wrap(function _callee7$(_context7) {
391
+ while (1) switch (_context7.prev = _context7.next) {
392
+ case 0:
393
+ // TODO add checkWebpSupport() back https://product-fabric.atlassian.net/browse/MPT-584
394
+ isWebpSupported = false;
395
+ headers = {};
396
+ if (isWebpSupported) {
397
+ headers.accept = 'image/webp,image/*,*/*;q=0.8';
398
+ }
399
+ metadata = {
400
+ method: 'GET',
401
+ endpoint: '/file/{fileId}/image'
402
+ };
403
+ options = _objectSpread(_objectSpread({}, metadata), {}, {
404
+ authContext: {
405
+ collectionName: params && params.collection
406
+ },
407
+ params: extendImageParams(params, fetchMaxRes),
408
+ headers: headers,
409
+ traceContext: traceContext
410
+ });
411
+ return _context7.abrupt("return", this.request("/file/".concat(id, "/image"), options, controller).then((0, _helpers.createMapResponseToBlob)(metadata)));
412
+ case 6:
413
+ case "end":
414
+ return _context7.stop();
415
+ }
416
+ }, _callee7, this);
417
+ }));
418
+ function getImage(_x19, _x20, _x21, _x22, _x23) {
419
+ return _getImage.apply(this, arguments);
420
+ }
421
+ return getImage;
422
+ }()
423
+ }, {
424
+ key: "getItems",
425
+ value: function () {
426
+ var _getItems = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(ids, collectionName, traceContext) {
427
+ var descriptors, metadata, options;
428
+ return _regenerator.default.wrap(function _callee8$(_context8) {
429
+ while (1) switch (_context8.prev = _context8.next) {
430
+ case 0:
431
+ descriptors = ids.map(function (id) {
432
+ return {
433
+ type: 'file',
434
+ id: id,
435
+ collection: collectionName
436
+ };
437
+ });
438
+ metadata = {
439
+ method: 'POST',
440
+ endpoint: '/items'
441
+ };
442
+ options = _objectSpread(_objectSpread({}, metadata), {}, {
443
+ authContext: {
444
+ collectionName: collectionName
445
+ },
446
+ headers: jsonHeaders,
447
+ body: JSON.stringify({
448
+ descriptors: descriptors
449
+ }),
450
+ traceContext: traceContext
451
+ });
452
+ return _context8.abrupt("return", this.request('/items', options).then((0, _helpers.createMapResponseToJson)(metadata)));
453
+ case 4:
454
+ case "end":
455
+ return _context8.stop();
456
+ }
457
+ }, _callee8, this);
458
+ }));
459
+ function getItems(_x24, _x25, _x26) {
460
+ return _getItems.apply(this, arguments);
461
+ }
462
+ return getItems;
463
+ }()
464
+ }, {
465
+ key: "getImageMetadata",
466
+ value: function () {
467
+ var _getImageMetadata = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(id, params, traceContext) {
468
+ var metadata, options;
469
+ return _regenerator.default.wrap(function _callee9$(_context9) {
470
+ while (1) switch (_context9.prev = _context9.next) {
471
+ case 0:
472
+ metadata = {
473
+ method: 'GET',
474
+ endpoint: '/file/{fileId}/image/metadata'
475
+ };
476
+ options = _objectSpread(_objectSpread({}, metadata), {}, {
477
+ authContext: {
478
+ collectionName: params && params.collection
479
+ },
480
+ params: params,
481
+ traceContext: traceContext
482
+ });
483
+ return _context9.abrupt("return", this.request("/file/".concat(id, "/image/metadata"), options).then((0, _helpers.createMapResponseToJson)(metadata)));
484
+ case 3:
485
+ case "end":
486
+ return _context9.stop();
487
+ }
488
+ }, _callee9, this);
489
+ }));
490
+ function getImageMetadata(_x27, _x28, _x29) {
491
+ return _getImageMetadata.apply(this, arguments);
492
+ }
493
+ return getImageMetadata;
494
+ }()
495
+ }, {
496
+ key: "appendChunksToUpload",
497
+ value: function () {
498
+ var _appendChunksToUpload = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(uploadId, body, collectionName, traceContext) {
499
+ var metadata, options;
500
+ return _regenerator.default.wrap(function _callee10$(_context10) {
501
+ while (1) switch (_context10.prev = _context10.next) {
502
+ case 0:
503
+ metadata = {
504
+ method: 'PUT',
505
+ endpoint: '/upload/{uploadId}/chunks'
506
+ };
507
+ options = _objectSpread(_objectSpread({}, metadata), {}, {
508
+ authContext: {
509
+ collectionName: collectionName
510
+ },
511
+ headers: jsonHeaders,
512
+ body: JSON.stringify(body),
513
+ traceContext: traceContext
514
+ });
515
+ _context10.next = 4;
516
+ return this.request("/upload/".concat(uploadId, "/chunks"), options);
517
+ case 4:
518
+ case "end":
519
+ return _context10.stop();
520
+ }
521
+ }, _callee10, this);
522
+ }));
523
+ function appendChunksToUpload(_x30, _x31, _x32, _x33) {
524
+ return _appendChunksToUpload.apply(this, arguments);
525
+ }
526
+ return appendChunksToUpload;
527
+ }()
528
+ }, {
529
+ key: "copyFileWithToken",
530
+ value: function copyFileWithToken(body, params, traceContext) {
531
+ var metadata = {
532
+ method: 'POST',
533
+ endpoint: '/file/copy/withToken'
534
+ };
535
+ var options = _objectSpread(_objectSpread({}, metadata), {}, {
536
+ authContext: {
537
+ collectionName: params.collection
538
+ },
539
+ // Contains collection name to write to
540
+ params: params,
541
+ // Contains collection name to write to
542
+ headers: jsonHeaders,
543
+ body: JSON.stringify(body),
544
+ // Contains collection name to read from
545
+ traceContext: traceContext
546
+ });
547
+ return this.request('/file/copy/withToken', options).then((0, _helpers.createMapResponseToJson)(metadata));
548
+ }
549
+ }, {
550
+ key: "request",
551
+ value: function () {
552
+ var _request2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(path) {
553
+ var options,
554
+ controller,
555
+ method,
556
+ endpoint,
557
+ authContext,
558
+ params,
559
+ headers,
560
+ body,
561
+ clientOptions,
562
+ traceContext,
563
+ auth,
564
+ extendedTraceContext,
565
+ response,
566
+ _args11 = arguments;
567
+ return _regenerator.default.wrap(function _callee11$(_context11) {
568
+ while (1) switch (_context11.prev = _context11.next) {
569
+ case 0:
570
+ options = _args11.length > 1 && _args11[1] !== undefined ? _args11[1] : {
571
+ method: 'GET',
572
+ endpoint: undefined,
573
+ authContext: {}
574
+ };
575
+ controller = _args11.length > 2 ? _args11[2] : undefined;
576
+ method = options.method, endpoint = options.endpoint, authContext = options.authContext, params = options.params, headers = options.headers, body = options.body, clientOptions = options.clientOptions, traceContext = options.traceContext;
577
+ _context11.next = 5;
578
+ return this.resolveAuth(authContext);
579
+ case 5:
580
+ auth = _context11.sent;
581
+ extendedTraceContext = traceContext ? _objectSpread(_objectSpread({}, traceContext), {}, {
582
+ spanId: (traceContext === null || traceContext === void 0 ? void 0 : traceContext.spanId) || (0, _mediaCommon.getRandomHex)(8)
583
+ }) : undefined;
584
+ _context11.next = 9;
585
+ return (0, _request3.request)("".concat(auth.baseUrl).concat(path), {
586
+ method: method,
587
+ endpoint: endpoint,
588
+ auth: auth,
589
+ params: params,
590
+ headers: headers,
591
+ body: body,
592
+ clientOptions: clientOptions,
593
+ traceContext: extendedTraceContext
594
+ }, controller);
595
+ case 9:
596
+ response = _context11.sent;
597
+ setKeyValueInSessionStorage(MEDIA_API_REGION, response.headers.get('x-media-region'));
598
+ setKeyValueInSessionStorage(MEDIA_API_ENVIRONMENT, response.headers.get('x-media-env'));
599
+ return _context11.abrupt("return", response);
600
+ case 13:
601
+ case "end":
602
+ return _context11.stop();
603
+ }
604
+ }, _callee11, this);
605
+ }));
606
+ function request(_x34) {
607
+ return _request2.apply(this, arguments);
608
+ }
609
+ return request;
610
+ }()
611
+ }]);
612
+ return MediaStore;
613
+ }();
614
+ var getValueFromSessionStorage = function getValueFromSessionStorage(key) {
615
+ return window && window.sessionStorage && window.sessionStorage.getItem(key) || undefined;
616
+ };
617
+ var setKeyValueInSessionStorage = function setKeyValueInSessionStorage(key, value) {
618
+ if (!value || !(window && window.sessionStorage)) {
619
+ return;
620
+ }
621
+ var currentValue = window.sessionStorage.getItem(key);
622
+ if (currentValue !== value) {
623
+ window.sessionStorage.setItem(key, value);
624
+ }
625
+ };
626
+ var getMediaEnvironment = exports.getMediaEnvironment = function getMediaEnvironment() {
627
+ return getValueFromSessionStorage(MEDIA_API_ENVIRONMENT);
628
+ };
629
+ var getMediaRegion = exports.getMediaRegion = function getMediaRegion() {
630
+ return getValueFromSessionStorage(MEDIA_API_REGION);
631
+ };