@atlaskit/media-client 20.0.1 → 20.0.2
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 +6 -0
- package/dist/cjs/client/collection-fetcher.js +4 -44
- package/dist/cjs/client/file-fetcher/error.js +3 -19
- package/dist/cjs/client/file-fetcher/index.js +72 -191
- package/dist/cjs/client/media-client.js +2 -26
- package/dist/cjs/client/media-store/error.js +1 -17
- package/dist/cjs/client/media-store/index.js +13 -103
- package/dist/cjs/client/media-store/resolveAuth.js +2 -23
- package/dist/cjs/client/mobile-upload.js +9 -22
- package/dist/cjs/client/stargate-client.js +0 -12
- package/dist/cjs/constants.js +0 -3
- package/dist/cjs/file-streams-cache.js +0 -11
- package/dist/cjs/globalMediaEventEmitter.js +0 -3
- package/dist/cjs/identifier.js +0 -8
- package/dist/cjs/index.js +0 -38
- package/dist/cjs/models/artifacts.js +0 -4
- package/dist/cjs/models/auth-headers.js +0 -2
- package/dist/cjs/models/auth-query-parameters.js +0 -2
- package/dist/cjs/models/errors/helpers.js +0 -2
- package/dist/cjs/models/errors/index.js +4 -20
- package/dist/cjs/models/file-state.js +10 -36
- package/dist/cjs/models/media.js +2 -8
- package/dist/cjs/upload-controller.js +0 -6
- package/dist/cjs/uploader/calculateChunkSize.js +1 -10
- package/dist/cjs/uploader/error.js +3 -19
- package/dist/cjs/uploader/index.js +3 -43
- package/dist/cjs/utils/checkWebpSupport.js +3 -7
- package/dist/cjs/utils/convertBase64ToBlob.js +0 -5
- package/dist/cjs/utils/createFileDataLoader.js +4 -28
- package/dist/cjs/utils/createMediaSubject.js +0 -4
- package/dist/cjs/utils/detectEmptyFile.js +8 -15
- package/dist/cjs/utils/getDimensionsFromBlob.js +0 -14
- package/dist/cjs/utils/getImageDimensionsFromBlob.js +0 -4
- package/dist/cjs/utils/getMediaTypeFromUploadableFile.js +0 -3
- package/dist/cjs/utils/getVideoDimensionsFromBlob.js +2 -8
- package/dist/cjs/utils/hashing/hasherCreator.js +0 -20
- package/dist/cjs/utils/hashing/simpleHasher.js +0 -12
- package/dist/cjs/utils/hashing/workerHasher.js +3 -24
- package/dist/cjs/utils/imageResizeModeToFileImageMode.js +0 -2
- package/dist/cjs/utils/isImageRemote.js +0 -5
- package/dist/cjs/utils/mediaSubscribable/fromObservable.js +2 -4
- package/dist/cjs/utils/mediaSubscribable/index.js +0 -2
- package/dist/cjs/utils/mediaSubscribable/toPromise.js +1 -3
- package/dist/cjs/utils/mobileUpload/error.js +3 -19
- package/dist/cjs/utils/mobileUpload/helpers.js +2 -26
- package/dist/cjs/utils/mobileUpload/index.js +0 -4
- package/dist/cjs/utils/mobileUpload/servicesCache.js +0 -2
- package/dist/cjs/utils/mobileUpload/stateMachine/index.js +0 -22
- package/dist/cjs/utils/mobileUpload/stateMachine/states/processing.js +0 -2
- package/dist/cjs/utils/mobileUpload/stateMachine/states/uploading.js +0 -7
- package/dist/cjs/utils/overrideMediaTypeIfUnknown.js +0 -4
- package/dist/cjs/utils/polling/errors.js +1 -17
- package/dist/cjs/utils/polling/index.js +1 -30
- package/dist/cjs/utils/request/errors.js +8 -24
- package/dist/cjs/utils/request/helpers.js +19 -103
- package/dist/cjs/utils/request/index.js +15 -26
- package/dist/cjs/utils/safeUnsubscribe.js +0 -2
- package/dist/cjs/utils/setTimeoutPromise.js +0 -4
- package/dist/cjs/utils/shouldFetchRemoteFileStates.js +0 -21
- package/dist/cjs/utils/url.js +4 -27
- package/dist/cjs/utils/with-media-client-hoc.js +12 -28
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/client/collection-fetcher.js +6 -18
- package/dist/es2019/client/file-fetcher/error.js +0 -2
- package/dist/es2019/client/file-fetcher/index.js +49 -91
- package/dist/es2019/client/media-client.js +3 -13
- package/dist/es2019/client/media-store/error.js +0 -2
- package/dist/es2019/client/media-store/index.js +37 -52
- package/dist/es2019/client/media-store/resolveAuth.js +1 -5
- package/dist/es2019/client/mobile-upload.js +0 -8
- package/dist/es2019/client/stargate-client.js +0 -3
- package/dist/es2019/constants.js +0 -1
- package/dist/es2019/file-streams-cache.js +0 -11
- package/dist/es2019/globalMediaEventEmitter.js +0 -4
- package/dist/es2019/index.js +4 -11
- package/dist/es2019/models/artifacts.js +0 -2
- package/dist/es2019/models/errors/index.js +5 -4
- package/dist/es2019/models/file-state.js +6 -7
- package/dist/es2019/models/media.js +2 -3
- package/dist/es2019/upload-controller.js +0 -3
- package/dist/es2019/uploader/calculateChunkSize.js +1 -4
- package/dist/es2019/uploader/error.js +0 -2
- package/dist/es2019/uploader/index.js +0 -13
- package/dist/es2019/utils/checkWebpSupport.js +3 -4
- package/dist/es2019/utils/convertBase64ToBlob.js +0 -2
- package/dist/es2019/utils/createFileDataLoader.js +6 -9
- package/dist/es2019/utils/createMediaSubject.js +0 -2
- package/dist/es2019/utils/detectEmptyFile.js +1 -5
- package/dist/es2019/utils/getDimensionsFromBlob.js +0 -3
- package/dist/es2019/utils/getImageDimensionsFromBlob.js +0 -2
- package/dist/es2019/utils/getVideoDimensionsFromBlob.js +2 -1
- package/dist/es2019/utils/hashing/hasherCreator.js +0 -2
- package/dist/es2019/utils/hashing/simpleHasher.js +0 -3
- package/dist/es2019/utils/hashing/workerHasher.js +1 -16
- package/dist/es2019/utils/isImageRemote.js +0 -2
- package/dist/es2019/utils/mediaSubscribable/fromObservable.js +2 -1
- package/dist/es2019/utils/mediaSubscribable/toPromise.js +1 -1
- package/dist/es2019/utils/mobileUpload/error.js +0 -2
- package/dist/es2019/utils/mobileUpload/helpers.js +2 -7
- package/dist/es2019/utils/mobileUpload/stateMachine/index.js +0 -2
- package/dist/es2019/utils/mobileUpload/stateMachine/states/uploading.js +2 -1
- package/dist/es2019/utils/overrideMediaTypeIfUnknown.js +0 -1
- package/dist/es2019/utils/polling/errors.js +0 -2
- package/dist/es2019/utils/polling/index.js +3 -20
- package/dist/es2019/utils/request/errors.js +0 -2
- package/dist/es2019/utils/request/helpers.js +24 -35
- package/dist/es2019/utils/request/index.js +2 -2
- package/dist/es2019/utils/shouldFetchRemoteFileStates.js +1 -5
- package/dist/es2019/utils/url.js +6 -14
- package/dist/es2019/utils/with-media-client-hoc.js +10 -7
- package/dist/es2019/version.json +1 -1
- package/dist/esm/client/collection-fetcher.js +4 -34
- package/dist/esm/client/file-fetcher/error.js +3 -12
- package/dist/esm/client/file-fetcher/index.js +74 -161
- package/dist/esm/client/media-client.js +3 -16
- package/dist/esm/client/media-store/error.js +1 -10
- package/dist/esm/client/media-store/index.js +13 -89
- package/dist/esm/client/media-store/resolveAuth.js +2 -13
- package/dist/esm/client/mobile-upload.js +9 -15
- package/dist/esm/client/stargate-client.js +0 -7
- package/dist/esm/constants.js +0 -1
- package/dist/esm/file-streams-cache.js +0 -6
- package/dist/esm/globalMediaEventEmitter.js +0 -1
- package/dist/esm/index.js +4 -11
- package/dist/esm/models/artifacts.js +0 -2
- package/dist/esm/models/errors/index.js +5 -12
- package/dist/esm/models/file-state.js +10 -17
- package/dist/esm/models/media.js +2 -3
- package/dist/esm/upload-controller.js +0 -2
- package/dist/esm/uploader/calculateChunkSize.js +1 -4
- package/dist/esm/uploader/error.js +3 -12
- package/dist/esm/uploader/index.js +3 -32
- package/dist/esm/utils/checkWebpSupport.js +3 -4
- package/dist/esm/utils/convertBase64ToBlob.js +0 -3
- package/dist/esm/utils/createFileDataLoader.js +4 -18
- package/dist/esm/utils/createMediaSubject.js +0 -2
- package/dist/esm/utils/detectEmptyFile.js +8 -12
- package/dist/esm/utils/getDimensionsFromBlob.js +0 -7
- package/dist/esm/utils/getImageDimensionsFromBlob.js +0 -2
- package/dist/esm/utils/getVideoDimensionsFromBlob.js +2 -3
- package/dist/esm/utils/hashing/hasherCreator.js +0 -9
- package/dist/esm/utils/hashing/simpleHasher.js +0 -4
- package/dist/esm/utils/hashing/workerHasher.js +3 -18
- package/dist/esm/utils/isImageRemote.js +0 -3
- package/dist/esm/utils/mediaSubscribable/fromObservable.js +2 -1
- package/dist/esm/utils/mediaSubscribable/toPromise.js +1 -1
- package/dist/esm/utils/mobileUpload/error.js +3 -12
- package/dist/esm/utils/mobileUpload/helpers.js +2 -11
- package/dist/esm/utils/mobileUpload/stateMachine/index.js +0 -6
- package/dist/esm/utils/mobileUpload/stateMachine/states/uploading.js +0 -3
- package/dist/esm/utils/overrideMediaTypeIfUnknown.js +0 -1
- package/dist/esm/utils/polling/errors.js +1 -10
- package/dist/esm/utils/polling/index.js +1 -27
- package/dist/esm/utils/request/errors.js +8 -17
- package/dist/esm/utils/request/helpers.js +22 -76
- package/dist/esm/utils/request/index.js +15 -20
- package/dist/esm/utils/shouldFetchRemoteFileStates.js +1 -15
- package/dist/esm/utils/url.js +4 -18
- package/dist/esm/utils/with-media-client-hoc.js +12 -17
- package/dist/esm/version.json +1 -1
- package/package.json +7 -5
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -25,52 +24,37 @@ exports.mapResponseToBlob = mapResponseToBlob;
|
|
|
25
24
|
exports.mapResponseToJson = mapResponseToJson;
|
|
26
25
|
exports.mapResponseToVoid = mapResponseToVoid;
|
|
27
26
|
exports.waitPromise = waitPromise;
|
|
28
|
-
|
|
29
27
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
30
|
-
|
|
31
28
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
32
|
-
|
|
33
29
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
34
|
-
|
|
35
30
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
36
|
-
|
|
37
31
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
38
|
-
|
|
39
32
|
var _mediaCore = require("@atlaskit/media-core");
|
|
40
|
-
|
|
41
33
|
var _authQueryParameters = require("../../models/auth-query-parameters");
|
|
42
|
-
|
|
43
34
|
var _errors = require("./errors");
|
|
44
|
-
|
|
45
35
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
46
|
-
|
|
47
36
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
48
|
-
|
|
49
37
|
function clientTimeoutPromise(timeout) {
|
|
50
38
|
return new Promise(function (resolve, reject) {
|
|
51
39
|
setTimeout(reject, timeout, new _errors.RequestError('clientTimeoutRequest'));
|
|
52
40
|
});
|
|
53
41
|
}
|
|
54
|
-
|
|
55
42
|
function waitPromise(timeout) {
|
|
56
43
|
return new Promise(function (resolve) {
|
|
57
44
|
return setTimeout(resolve, timeout);
|
|
58
45
|
});
|
|
59
46
|
}
|
|
60
|
-
|
|
61
47
|
function isAbortedRequestError(err) {
|
|
62
48
|
return err instanceof Error && err.message === 'request_cancelled' || !!err && err.name === 'AbortError';
|
|
63
|
-
}
|
|
64
|
-
|
|
49
|
+
}
|
|
65
50
|
|
|
51
|
+
// fetch throws TypeError for network errors
|
|
66
52
|
function isFetchNetworkError(err) {
|
|
67
53
|
return err instanceof TypeError;
|
|
68
54
|
}
|
|
69
|
-
|
|
70
55
|
function isRateLimitedError(error) {
|
|
71
56
|
return !!error && (0, _errors.isRequestError)(error) && error.attributes.statusCode === 429 || !!error && !!error.message && error.message.includes('429');
|
|
72
57
|
}
|
|
73
|
-
|
|
74
58
|
var ZipkinHeaderKeys = {
|
|
75
59
|
traceId: 'x-b3-traceid',
|
|
76
60
|
spanId: 'x-b3-spanid',
|
|
@@ -79,67 +63,54 @@ var ZipkinHeaderKeys = {
|
|
|
79
63
|
flags: 'x-b3-flags'
|
|
80
64
|
};
|
|
81
65
|
exports.ZipkinHeaderKeys = ZipkinHeaderKeys;
|
|
82
|
-
|
|
83
66
|
var mapTraceIdToRequestHeaders = function mapTraceIdToRequestHeaders(traceContext) {
|
|
84
67
|
var _ref;
|
|
85
|
-
|
|
86
68
|
return traceContext ? (_ref = {}, (0, _defineProperty2.default)(_ref, ZipkinHeaderKeys.traceId, traceContext.traceId), (0, _defineProperty2.default)(_ref, ZipkinHeaderKeys.spanId, traceContext.spanId), _ref) : {};
|
|
87
69
|
};
|
|
88
|
-
|
|
89
70
|
function mapAuthToRequestHeaders(auth) {
|
|
90
71
|
if (!auth) {
|
|
91
72
|
return {};
|
|
92
73
|
}
|
|
93
|
-
|
|
94
74
|
if ((0, _mediaCore.isClientBasedAuth)(auth)) {
|
|
95
75
|
return {
|
|
96
76
|
'X-Client-Id': auth.clientId,
|
|
97
77
|
Authorization: "Bearer ".concat(auth.token)
|
|
98
78
|
};
|
|
99
79
|
}
|
|
100
|
-
|
|
101
80
|
return {
|
|
102
81
|
'X-Issuer': auth.asapIssuer,
|
|
103
82
|
Authorization: "Bearer ".concat(auth.token)
|
|
104
83
|
};
|
|
105
84
|
}
|
|
106
|
-
|
|
107
85
|
function createUrl(url, _ref2) {
|
|
108
86
|
var params = _ref2.params,
|
|
109
|
-
|
|
87
|
+
auth = _ref2.auth;
|
|
110
88
|
var parsedUrl = new URL(url);
|
|
111
89
|
var authParams = auth && (0, _authQueryParameters.mapAuthToQueryParameters)(auth) || {};
|
|
112
|
-
|
|
113
90
|
var paramsToAppend = _objectSpread(_objectSpread({}, params), authParams);
|
|
114
|
-
|
|
115
91
|
Object.entries(paramsToAppend).filter(function (_ref3) {
|
|
116
92
|
var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
93
|
+
_ = _ref4[0],
|
|
94
|
+
value = _ref4[1];
|
|
120
95
|
return value != null;
|
|
121
96
|
}).forEach(function (pair) {
|
|
122
97
|
var _parsedUrl$searchPara;
|
|
123
|
-
|
|
124
98
|
(_parsedUrl$searchPara = parsedUrl.searchParams).append.apply(_parsedUrl$searchPara, (0, _toConsumableArray2.default)(pair));
|
|
125
99
|
});
|
|
126
100
|
parsedUrl.searchParams.sort();
|
|
127
101
|
return parsedUrl.toString();
|
|
128
102
|
}
|
|
129
|
-
|
|
130
103
|
function extendHeaders(headers, auth, traceContext) {
|
|
131
104
|
if (!auth && !traceContext && !headers) {
|
|
132
105
|
return undefined;
|
|
133
106
|
}
|
|
134
|
-
|
|
135
107
|
return _objectSpread(_objectSpread(_objectSpread({}, headers !== null && headers !== void 0 ? headers : {}), mapAuthToRequestHeaders(auth)), mapTraceIdToRequestHeaders(traceContext));
|
|
136
108
|
}
|
|
109
|
+
|
|
137
110
|
/**
|
|
138
111
|
* @deprecated Helper is deprecated and will be removed in the next major version.
|
|
139
112
|
* TODO: https://product-fabric.atlassian.net/browse/BMPT-1354
|
|
140
113
|
*/
|
|
141
|
-
|
|
142
|
-
|
|
143
114
|
function mapResponseToJson(_x) {
|
|
144
115
|
return _mapResponseToJson.apply(this, arguments);
|
|
145
116
|
}
|
|
@@ -147,8 +118,6 @@ function mapResponseToJson(_x) {
|
|
|
147
118
|
* @deprecated Helper is deprecated and will be removed in the next major version.
|
|
148
119
|
* TODO: https://product-fabric.atlassian.net/browse/BMPT-1354
|
|
149
120
|
*/
|
|
150
|
-
|
|
151
|
-
|
|
152
121
|
function _mapResponseToJson() {
|
|
153
122
|
_mapResponseToJson = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(response) {
|
|
154
123
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
@@ -160,17 +129,14 @@ function _mapResponseToJson() {
|
|
|
160
129
|
_context3.prev = 1;
|
|
161
130
|
_context3.next = 4;
|
|
162
131
|
return response.json();
|
|
163
|
-
|
|
164
132
|
case 4:
|
|
165
133
|
return _context3.abrupt("return", _context3.sent);
|
|
166
|
-
|
|
167
134
|
case 7:
|
|
168
135
|
_context3.prev = 7;
|
|
169
136
|
_context3.t0 = _context3["catch"](1);
|
|
170
137
|
throw new _errors.RequestError('serverInvalidBody', {
|
|
171
138
|
statusCode: response.status
|
|
172
139
|
}, _context3.t0 instanceof Error ? _context3.t0 : undefined);
|
|
173
|
-
|
|
174
140
|
case 10:
|
|
175
141
|
case "end":
|
|
176
142
|
return _context3.stop();
|
|
@@ -180,7 +146,6 @@ function _mapResponseToJson() {
|
|
|
180
146
|
}));
|
|
181
147
|
return _mapResponseToJson.apply(this, arguments);
|
|
182
148
|
}
|
|
183
|
-
|
|
184
149
|
function mapResponseToBlob(_x2) {
|
|
185
150
|
return _mapResponseToBlob.apply(this, arguments);
|
|
186
151
|
}
|
|
@@ -188,8 +153,6 @@ function mapResponseToBlob(_x2) {
|
|
|
188
153
|
* @deprecated Helper is deprecated and will be removed in the next major version.
|
|
189
154
|
* TODO: https://product-fabric.atlassian.net/browse/BMPT-1354
|
|
190
155
|
*/
|
|
191
|
-
|
|
192
|
-
|
|
193
156
|
function _mapResponseToBlob() {
|
|
194
157
|
_mapResponseToBlob = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(response) {
|
|
195
158
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
@@ -201,17 +164,14 @@ function _mapResponseToBlob() {
|
|
|
201
164
|
_context4.prev = 1;
|
|
202
165
|
_context4.next = 4;
|
|
203
166
|
return response.blob();
|
|
204
|
-
|
|
205
167
|
case 4:
|
|
206
168
|
return _context4.abrupt("return", _context4.sent);
|
|
207
|
-
|
|
208
169
|
case 7:
|
|
209
170
|
_context4.prev = 7;
|
|
210
171
|
_context4.t0 = _context4["catch"](1);
|
|
211
172
|
throw new _errors.RequestError('serverInvalidBody', {
|
|
212
173
|
statusCode: response.status
|
|
213
174
|
}, _context4.t0 instanceof Error ? _context4.t0 : undefined);
|
|
214
|
-
|
|
215
175
|
case 10:
|
|
216
176
|
case "end":
|
|
217
177
|
return _context4.stop();
|
|
@@ -221,13 +181,11 @@ function _mapResponseToBlob() {
|
|
|
221
181
|
}));
|
|
222
182
|
return _mapResponseToBlob.apply(this, arguments);
|
|
223
183
|
}
|
|
224
|
-
|
|
225
184
|
function mapResponseToVoid() {
|
|
226
185
|
// eslint-disable-next-line no-console
|
|
227
186
|
console.warn('Helper is deprecated and will be remove in the next major version');
|
|
228
187
|
return Promise.resolve();
|
|
229
188
|
}
|
|
230
|
-
|
|
231
189
|
function createMapResponseToJson(metadata) {
|
|
232
190
|
return /*#__PURE__*/function () {
|
|
233
191
|
var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(response) {
|
|
@@ -238,17 +196,14 @@ function createMapResponseToJson(metadata) {
|
|
|
238
196
|
_context.prev = 0;
|
|
239
197
|
_context.next = 3;
|
|
240
198
|
return response.json();
|
|
241
|
-
|
|
242
199
|
case 3:
|
|
243
200
|
return _context.abrupt("return", _context.sent);
|
|
244
|
-
|
|
245
201
|
case 6:
|
|
246
202
|
_context.prev = 6;
|
|
247
203
|
_context.t0 = _context["catch"](0);
|
|
248
204
|
throw new _errors.RequestError('serverInvalidBody', _objectSpread(_objectSpread(_objectSpread({}, metadata), extractMediaHeaders(response)), {}, {
|
|
249
205
|
statusCode: response.status
|
|
250
206
|
}), _context.t0 instanceof Error ? _context.t0 : undefined);
|
|
251
|
-
|
|
252
207
|
case 9:
|
|
253
208
|
case "end":
|
|
254
209
|
return _context.stop();
|
|
@@ -256,13 +211,11 @@ function createMapResponseToJson(metadata) {
|
|
|
256
211
|
}
|
|
257
212
|
}, _callee, null, [[0, 6]]);
|
|
258
213
|
}));
|
|
259
|
-
|
|
260
214
|
return function (_x3) {
|
|
261
215
|
return _ref5.apply(this, arguments);
|
|
262
216
|
};
|
|
263
217
|
}();
|
|
264
218
|
}
|
|
265
|
-
|
|
266
219
|
function createMapResponseToBlob(metadata) {
|
|
267
220
|
return /*#__PURE__*/function () {
|
|
268
221
|
var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(response) {
|
|
@@ -273,17 +226,14 @@ function createMapResponseToBlob(metadata) {
|
|
|
273
226
|
_context2.prev = 0;
|
|
274
227
|
_context2.next = 3;
|
|
275
228
|
return response.blob();
|
|
276
|
-
|
|
277
229
|
case 3:
|
|
278
230
|
return _context2.abrupt("return", _context2.sent);
|
|
279
|
-
|
|
280
231
|
case 6:
|
|
281
232
|
_context2.prev = 6;
|
|
282
233
|
_context2.t0 = _context2["catch"](0);
|
|
283
234
|
throw new _errors.RequestError('serverInvalidBody', _objectSpread(_objectSpread(_objectSpread({}, metadata), extractMediaHeaders(response)), {}, {
|
|
284
235
|
statusCode: response.status
|
|
285
236
|
}), _context2.t0 instanceof Error ? _context2.t0 : undefined);
|
|
286
|
-
|
|
287
237
|
case 9:
|
|
288
238
|
case "end":
|
|
289
239
|
return _context2.stop();
|
|
@@ -291,46 +241,40 @@ function createMapResponseToBlob(metadata) {
|
|
|
291
241
|
}
|
|
292
242
|
}, _callee2, null, [[0, 6]]);
|
|
293
243
|
}));
|
|
294
|
-
|
|
295
244
|
return function (_x4) {
|
|
296
245
|
return _ref6.apply(this, arguments);
|
|
297
246
|
};
|
|
298
247
|
}();
|
|
299
248
|
}
|
|
300
|
-
|
|
301
249
|
var DEFAULT_RETRY_OPTIONS = {
|
|
302
250
|
startTimeoutInMs: 1000,
|
|
303
251
|
// 1 second is generally a good timeout to start
|
|
304
252
|
maxAttempts: 5,
|
|
305
253
|
// Current test delay is 60s, so retries should finish before if a promise takes < 1s
|
|
306
254
|
factor: 2 // Good for polling, which is out main use case
|
|
307
|
-
|
|
308
255
|
};
|
|
309
256
|
exports.DEFAULT_RETRY_OPTIONS = DEFAULT_RETRY_OPTIONS;
|
|
310
|
-
|
|
311
257
|
function cloneRequestError(error, extraMetadata) {
|
|
312
258
|
var reason = error.reason,
|
|
313
|
-
|
|
314
|
-
|
|
259
|
+
metadata = error.metadata,
|
|
260
|
+
innerError = error.innerError;
|
|
315
261
|
return new _errors.RequestError(reason, _objectSpread(_objectSpread({}, metadata), extraMetadata), innerError);
|
|
316
262
|
}
|
|
317
|
-
|
|
318
263
|
function fetchRetry(_x5, _x6) {
|
|
319
264
|
return _fetchRetry.apply(this, arguments);
|
|
320
265
|
}
|
|
321
|
-
|
|
322
266
|
function _fetchRetry() {
|
|
323
267
|
_fetchRetry = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(functionToRetry, metadata) {
|
|
324
268
|
var overwriteOptions,
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
269
|
+
options,
|
|
270
|
+
startTimeoutInMs,
|
|
271
|
+
maxAttempts,
|
|
272
|
+
factor,
|
|
273
|
+
attempts,
|
|
274
|
+
timeoutInMs,
|
|
275
|
+
lastError,
|
|
276
|
+
waitAndBumpTimeout,
|
|
277
|
+
_args6 = arguments;
|
|
334
278
|
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
335
279
|
while (1) {
|
|
336
280
|
switch (_context6.prev = _context6.next) {
|
|
@@ -340,7 +284,6 @@ function _fetchRetry() {
|
|
|
340
284
|
startTimeoutInMs = options.startTimeoutInMs, maxAttempts = options.maxAttempts, factor = options.factor;
|
|
341
285
|
attempts = 0;
|
|
342
286
|
timeoutInMs = startTimeoutInMs;
|
|
343
|
-
|
|
344
287
|
waitAndBumpTimeout = /*#__PURE__*/function () {
|
|
345
288
|
var _ref7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
|
|
346
289
|
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
@@ -349,11 +292,9 @@ function _fetchRetry() {
|
|
|
349
292
|
case 0:
|
|
350
293
|
_context5.next = 2;
|
|
351
294
|
return waitPromise(timeoutInMs);
|
|
352
|
-
|
|
353
295
|
case 2:
|
|
354
296
|
timeoutInMs *= factor;
|
|
355
297
|
attempts += 1;
|
|
356
|
-
|
|
357
298
|
case 4:
|
|
358
299
|
case "end":
|
|
359
300
|
return _context5.stop();
|
|
@@ -361,70 +302,57 @@ function _fetchRetry() {
|
|
|
361
302
|
}
|
|
362
303
|
}, _callee5);
|
|
363
304
|
}));
|
|
364
|
-
|
|
365
305
|
return function waitAndBumpTimeout() {
|
|
366
306
|
return _ref7.apply(this, arguments);
|
|
367
307
|
};
|
|
368
308
|
}();
|
|
369
|
-
|
|
370
309
|
case 6:
|
|
371
310
|
if (!(attempts < maxAttempts)) {
|
|
372
311
|
_context6.next = 24;
|
|
373
312
|
break;
|
|
374
313
|
}
|
|
375
|
-
|
|
376
314
|
_context6.prev = 7;
|
|
377
315
|
_context6.next = 10;
|
|
378
316
|
return functionToRetry();
|
|
379
|
-
|
|
380
317
|
case 10:
|
|
381
318
|
return _context6.abrupt("return", _context6.sent);
|
|
382
|
-
|
|
383
319
|
case 13:
|
|
384
320
|
_context6.prev = 13;
|
|
385
321
|
_context6.t0 = _context6["catch"](7);
|
|
386
|
-
lastError = _context6.t0;
|
|
322
|
+
lastError = _context6.t0;
|
|
387
323
|
|
|
324
|
+
// don't retry if request was aborted by user
|
|
388
325
|
if (!isAbortedRequestError(_context6.t0)) {
|
|
389
326
|
_context6.next = 18;
|
|
390
327
|
break;
|
|
391
328
|
}
|
|
392
|
-
|
|
393
329
|
throw new _errors.RequestError('clientAbortedRequest', metadata, _context6.t0);
|
|
394
|
-
|
|
395
330
|
case 18:
|
|
396
331
|
if (!(!isFetchNetworkError(_context6.t0) && !(0, _errors.isRequestError)(_context6.t0) || (0, _errors.isRequestError)(_context6.t0) && (!_context6.t0.metadata || !_context6.t0.metadata.statusCode || _context6.t0.metadata.statusCode < 500))) {
|
|
397
332
|
_context6.next = 20;
|
|
398
333
|
break;
|
|
399
334
|
}
|
|
400
|
-
|
|
401
335
|
throw _context6.t0;
|
|
402
|
-
|
|
403
336
|
case 20:
|
|
404
337
|
_context6.next = 22;
|
|
405
338
|
return waitAndBumpTimeout();
|
|
406
|
-
|
|
407
339
|
case 22:
|
|
408
340
|
_context6.next = 6;
|
|
409
341
|
break;
|
|
410
|
-
|
|
411
342
|
case 24:
|
|
412
343
|
if (!(0, _errors.isRequestError)(lastError)) {
|
|
413
344
|
_context6.next = 26;
|
|
414
345
|
break;
|
|
415
346
|
}
|
|
416
|
-
|
|
417
347
|
throw cloneRequestError(lastError, {
|
|
418
348
|
attempts: attempts,
|
|
419
349
|
clientExhaustedRetries: true
|
|
420
350
|
});
|
|
421
|
-
|
|
422
351
|
case 26:
|
|
423
352
|
throw new _errors.RequestError('serverUnexpectedError', _objectSpread(_objectSpread({}, metadata), {}, {
|
|
424
353
|
attempts: attempts,
|
|
425
354
|
clientExhaustedRetries: true
|
|
426
355
|
}), lastError);
|
|
427
|
-
|
|
428
356
|
case 27:
|
|
429
357
|
case "end":
|
|
430
358
|
return _context6.stop();
|
|
@@ -434,35 +362,26 @@ function _fetchRetry() {
|
|
|
434
362
|
}));
|
|
435
363
|
return _fetchRetry.apply(this, arguments);
|
|
436
364
|
}
|
|
437
|
-
|
|
438
365
|
function createRequestErrorReason(statusCode) {
|
|
439
366
|
switch (statusCode) {
|
|
440
367
|
case 400:
|
|
441
368
|
return 'serverBadRequest';
|
|
442
|
-
|
|
443
369
|
case 401:
|
|
444
370
|
return 'serverUnauthorized';
|
|
445
|
-
|
|
446
371
|
case 403:
|
|
447
372
|
return 'serverForbidden';
|
|
448
|
-
|
|
449
373
|
case 404:
|
|
450
374
|
return 'serverNotFound';
|
|
451
|
-
|
|
452
375
|
case 429:
|
|
453
376
|
return 'serverRateLimited';
|
|
454
|
-
|
|
455
377
|
case 500:
|
|
456
378
|
return 'serverInternalError';
|
|
457
|
-
|
|
458
379
|
case 502:
|
|
459
380
|
return 'serverBadGateway';
|
|
460
|
-
|
|
461
381
|
default:
|
|
462
382
|
return 'serverUnexpectedError';
|
|
463
383
|
}
|
|
464
384
|
}
|
|
465
|
-
|
|
466
385
|
function createRequestErrorFromResponse(metadata, response) {
|
|
467
386
|
var statusCode = response.status;
|
|
468
387
|
var reason = createRequestErrorReason(statusCode);
|
|
@@ -470,18 +389,15 @@ function createRequestErrorFromResponse(metadata, response) {
|
|
|
470
389
|
statusCode: statusCode
|
|
471
390
|
}));
|
|
472
391
|
}
|
|
473
|
-
|
|
474
392
|
function createProcessFetchResponse(metadata) {
|
|
475
393
|
return function (response) {
|
|
476
394
|
if (response.ok || response.status < 400) {
|
|
477
395
|
return response;
|
|
478
396
|
}
|
|
479
|
-
|
|
480
397
|
var requestError = createRequestErrorFromResponse(metadata, response);
|
|
481
398
|
throw requestError;
|
|
482
399
|
};
|
|
483
400
|
}
|
|
484
|
-
|
|
485
401
|
function extractMediaHeaders(response) {
|
|
486
402
|
var headers = response.headers;
|
|
487
403
|
var mediaRegion = headers.get('x-media-region') || 'unknown';
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -24,38 +23,31 @@ Object.defineProperty(exports, "isRequestError", {
|
|
|
24
23
|
}
|
|
25
24
|
});
|
|
26
25
|
exports.request = request;
|
|
27
|
-
|
|
28
26
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
29
|
-
|
|
30
27
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
31
|
-
|
|
32
28
|
var _errors = require("./errors");
|
|
33
|
-
|
|
34
29
|
var _helpers = require("./helpers");
|
|
35
|
-
|
|
36
30
|
function request(_x) {
|
|
37
31
|
return _request.apply(this, arguments);
|
|
38
32
|
}
|
|
39
|
-
|
|
40
33
|
function _request() {
|
|
41
34
|
_request = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(url) {
|
|
42
35
|
var options,
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
36
|
+
controller,
|
|
37
|
+
_options$method,
|
|
38
|
+
method,
|
|
39
|
+
endpoint,
|
|
40
|
+
auth,
|
|
41
|
+
params,
|
|
42
|
+
headers,
|
|
43
|
+
body,
|
|
44
|
+
_options$clientOption,
|
|
45
|
+
clientOptions,
|
|
46
|
+
traceContext,
|
|
47
|
+
retryOptions,
|
|
48
|
+
metadata,
|
|
49
|
+
doFetch,
|
|
50
|
+
_args = arguments;
|
|
59
51
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
60
52
|
while (1) {
|
|
61
53
|
switch (_context.prev = _context.next) {
|
|
@@ -69,7 +61,6 @@ function _request() {
|
|
|
69
61
|
endpoint: endpoint,
|
|
70
62
|
traceContext: traceContext
|
|
71
63
|
}; // TODO BMPT-918: add client timeout feature behing a FF (using clientOptions.clientTimeout + Promise.race)
|
|
72
|
-
|
|
73
64
|
doFetch = function doFetch() {
|
|
74
65
|
return fetch((0, _helpers.createUrl)(url, {
|
|
75
66
|
params: params
|
|
@@ -80,9 +71,7 @@ function _request() {
|
|
|
80
71
|
signal: controller && controller.signal
|
|
81
72
|
}).then((0, _helpers.createProcessFetchResponse)(metadata));
|
|
82
73
|
};
|
|
83
|
-
|
|
84
74
|
return _context.abrupt("return", (0, _helpers.fetchRetry)(doFetch, metadata, retryOptions));
|
|
85
|
-
|
|
86
75
|
case 7:
|
|
87
76
|
case "end":
|
|
88
77
|
return _context.stop();
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.safeUnsubscribe = void 0;
|
|
7
|
-
|
|
8
7
|
// TODO: remove this in next major version
|
|
9
8
|
var safeUnsubscribe = function safeUnsubscribe(subscription) {
|
|
10
9
|
// eslint-disable-next-line no-console
|
|
@@ -13,5 +12,4 @@ var safeUnsubscribe = function safeUnsubscribe(subscription) {
|
|
|
13
12
|
return subscription && subscription.unsubscribe();
|
|
14
13
|
}, 0);
|
|
15
14
|
};
|
|
16
|
-
|
|
17
15
|
exports.safeUnsubscribe = safeUnsubscribe;
|
|
@@ -4,19 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.resolveTimeout = exports.rejectTimeout = void 0;
|
|
7
|
-
|
|
8
7
|
var resolveTimeout = function resolveTimeout(timeout, resolveWith) {
|
|
9
8
|
return new Promise(function (resolve, _reject) {
|
|
10
9
|
setTimeout(resolve, timeout, resolveWith);
|
|
11
10
|
});
|
|
12
11
|
};
|
|
13
|
-
|
|
14
12
|
exports.resolveTimeout = resolveTimeout;
|
|
15
|
-
|
|
16
13
|
var rejectTimeout = function rejectTimeout(timeout, rejectWith) {
|
|
17
14
|
return new Promise(function (_resolve, reject) {
|
|
18
15
|
setTimeout(reject, timeout, rejectWith);
|
|
19
16
|
});
|
|
20
17
|
};
|
|
21
|
-
|
|
22
18
|
exports.rejectTimeout = rejectTimeout;
|
|
@@ -1,23 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.shouldFetchRemoteFileStates = shouldFetchRemoteFileStates;
|
|
9
8
|
exports.shouldFetchRemoteFileStatesObservable = shouldFetchRemoteFileStatesObservable;
|
|
10
|
-
|
|
11
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
12
|
-
|
|
13
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
14
|
-
|
|
15
11
|
var _from = require("rxjs/observable/from");
|
|
16
|
-
|
|
17
12
|
var _mediaTypeUtils = require("@atlaskit/media-common/mediaTypeUtils");
|
|
18
|
-
|
|
19
13
|
var _getVideoDimensionsFromBlob = require("./getVideoDimensionsFromBlob");
|
|
20
|
-
|
|
21
14
|
/**
|
|
22
15
|
* Async helper determining if we should fetch remote fileStates from the backend:
|
|
23
16
|
* - we poll the backend for all supported documents,
|
|
@@ -32,11 +25,9 @@ var _getVideoDimensionsFromBlob = require("./getVideoDimensionsFromBlob");
|
|
|
32
25
|
function shouldFetchRemoteFileStates(_x, _x2, _x3) {
|
|
33
26
|
return _shouldFetchRemoteFileStates.apply(this, arguments);
|
|
34
27
|
}
|
|
35
|
-
|
|
36
28
|
function _shouldFetchRemoteFileStates() {
|
|
37
29
|
_shouldFetchRemoteFileStates = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(mediaType, mimeType, preview) {
|
|
38
30
|
var content, _yield$getVideoDimens, width, height;
|
|
39
|
-
|
|
40
31
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
41
32
|
while (1) {
|
|
42
33
|
switch (_context.prev = _context.next) {
|
|
@@ -45,47 +36,36 @@ function _shouldFetchRemoteFileStates() {
|
|
|
45
36
|
_context.next = 2;
|
|
46
37
|
break;
|
|
47
38
|
}
|
|
48
|
-
|
|
49
39
|
return _context.abrupt("return", true);
|
|
50
|
-
|
|
51
40
|
case 2:
|
|
52
41
|
if (!(mediaType === 'video' && !!preview)) {
|
|
53
42
|
_context.next = 20;
|
|
54
43
|
break;
|
|
55
44
|
}
|
|
56
|
-
|
|
57
45
|
_context.next = 5;
|
|
58
46
|
return preview;
|
|
59
|
-
|
|
60
47
|
case 5:
|
|
61
48
|
content = _context.sent.value;
|
|
62
|
-
|
|
63
49
|
if (content instanceof Blob) {
|
|
64
50
|
_context.next = 8;
|
|
65
51
|
break;
|
|
66
52
|
}
|
|
67
|
-
|
|
68
53
|
return _context.abrupt("return", false);
|
|
69
|
-
|
|
70
54
|
case 8:
|
|
71
55
|
_context.prev = 8;
|
|
72
56
|
_context.next = 11;
|
|
73
57
|
return (0, _getVideoDimensionsFromBlob.getVideoDimensionsFromBlob)(content);
|
|
74
|
-
|
|
75
58
|
case 11:
|
|
76
59
|
_yield$getVideoDimens = _context.sent;
|
|
77
60
|
width = _yield$getVideoDimens.width;
|
|
78
61
|
height = _yield$getVideoDimens.height;
|
|
79
62
|
return _context.abrupt("return", !width && !height);
|
|
80
|
-
|
|
81
63
|
case 17:
|
|
82
64
|
_context.prev = 17;
|
|
83
65
|
_context.t0 = _context["catch"](8);
|
|
84
66
|
return _context.abrupt("return", true);
|
|
85
|
-
|
|
86
67
|
case 20:
|
|
87
68
|
return _context.abrupt("return", false);
|
|
88
|
-
|
|
89
69
|
case 21:
|
|
90
70
|
case "end":
|
|
91
71
|
return _context.stop();
|
|
@@ -95,7 +75,6 @@ function _shouldFetchRemoteFileStates() {
|
|
|
95
75
|
}));
|
|
96
76
|
return _shouldFetchRemoteFileStates.apply(this, arguments);
|
|
97
77
|
}
|
|
98
|
-
|
|
99
78
|
function shouldFetchRemoteFileStatesObservable(mediaType, mimeType, preview) {
|
|
100
79
|
return (0, _from.from)(shouldFetchRemoteFileStates(mediaType, mimeType, preview));
|
|
101
80
|
}
|