@eluvio/elv-client-js 4.0.21 → 4.0.22
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/dist/ElvClient-min.js +4 -4
- package/dist/ElvClient-node-min.js +4 -4
- package/dist/ElvFrameClient-min.js +1 -1
- package/dist/ElvWalletClient-min.js +4 -4
- package/dist/ElvWalletClient-node-min.js +8 -8
- package/dist/src/HttpClient.js +37 -21
- package/dist/src/client/ContentAccess.js +1 -1
- package/dist/src/client/ContentManagement.js +4 -4
- package/dist/src/client/Files.js +475 -476
- package/package.json +1 -1
- package/src/HttpClient.js +21 -6
- package/src/client/ContentAccess.js +1 -1
- package/src/client/ContentManagement.js +4 -4
- package/src/client/Files.js +78 -89
- package/testScripts/Test.js +1 -2
- package/testScripts/UploadFilesTest.js +84 -0
- package/testScripts/abr_profile_4k_both.json +0 -10
- package/testScripts/abr_profile_4k_drm_public_access.json +128 -0
- package/testScripts/abr_profile_both.json +0 -10
- package/testScripts/abr_profile_drm_public_access.json +1962 -0
- package/utilities/example_files/abr_profile_4k_both.json +0 -10
- package/utilities/example_files/abr_profile_4k_drm_public_access.json +128 -0
- package/utilities/example_files/abr_profile_both.json +0 -10
- package/utilities/example_files/abr_profile_drm_public_access.json +1916 -0
package/dist/src/HttpClient.js
CHANGED
|
@@ -17,6 +17,7 @@ var HttpClient = /*#__PURE__*/function () {
|
|
|
17
17
|
this.uriIndex = 0;
|
|
18
18
|
this.debug = debug;
|
|
19
19
|
this.draftURIs = {};
|
|
20
|
+
this.retries = Math.max(3, uris.length);
|
|
20
21
|
}
|
|
21
22
|
_createClass(HttpClient, [{
|
|
22
23
|
key: "Log",
|
|
@@ -54,15 +55,16 @@ var HttpClient = /*#__PURE__*/function () {
|
|
|
54
55
|
key: "Request",
|
|
55
56
|
value: function () {
|
|
56
57
|
var _Request = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref2) {
|
|
57
|
-
var method, path, _ref2$queryParams, queryParams, body, _ref2$bodyType, bodyType, _ref2$headers, headers, _ref2$attempts, attempts, _ref2$
|
|
58
|
+
var method, path, _ref2$queryParams, queryParams, body, _ref2$bodyType, bodyType, _ref2$headers, headers, _ref2$attempts, attempts, _ref2$allowFailover, allowFailover, _ref2$forceFailover, forceFailover, _ref2$allowRetry, allowRetry, baseURI, writeTokenMatch, writeToken, uri, fetchParameters, response, responseType, errorBody, error;
|
|
58
59
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
59
60
|
while (1) switch (_context.prev = _context.next) {
|
|
60
61
|
case 0:
|
|
61
|
-
method = _ref2.method, path = _ref2.path, _ref2$queryParams = _ref2.queryParams, queryParams = _ref2$queryParams === void 0 ? {} : _ref2$queryParams, body = _ref2.body, _ref2$bodyType = _ref2.bodyType, bodyType = _ref2$bodyType === void 0 ? "JSON" : _ref2$bodyType, _ref2$headers = _ref2.headers, headers = _ref2$headers === void 0 ? {} : _ref2$headers, _ref2$attempts = _ref2.attempts, attempts = _ref2$attempts === void 0 ? 0 : _ref2$attempts, _ref2$
|
|
62
|
+
method = _ref2.method, path = _ref2.path, _ref2$queryParams = _ref2.queryParams, queryParams = _ref2$queryParams === void 0 ? {} : _ref2$queryParams, body = _ref2.body, _ref2$bodyType = _ref2.bodyType, bodyType = _ref2$bodyType === void 0 ? "JSON" : _ref2$bodyType, _ref2$headers = _ref2.headers, headers = _ref2$headers === void 0 ? {} : _ref2$headers, _ref2$attempts = _ref2.attempts, attempts = _ref2$attempts === void 0 ? 0 : _ref2$attempts, _ref2$allowFailover = _ref2.allowFailover, allowFailover = _ref2$allowFailover === void 0 ? true : _ref2$allowFailover, _ref2$forceFailover = _ref2.forceFailover, forceFailover = _ref2$forceFailover === void 0 ? false : _ref2$forceFailover, _ref2$allowRetry = _ref2.allowRetry, allowRetry = _ref2$allowRetry === void 0 ? true : _ref2$allowRetry;
|
|
62
63
|
baseURI = this.BaseURI(); // If URL contains a write token, it must go to the correct server and can not fail over
|
|
63
64
|
writeTokenMatch = path.replace(/^\//, "").match(/(qlibs\/ilib[a-zA-Z0-9]+|q|qid)\/(tqw__[a-zA-Z0-9]+)/);
|
|
64
65
|
writeToken = writeTokenMatch ? writeTokenMatch[2] : undefined;
|
|
65
66
|
if (writeToken) {
|
|
67
|
+
allowFailover = false;
|
|
66
68
|
if (this.draftURIs[writeToken]) {
|
|
67
69
|
// Use saved write token URI
|
|
68
70
|
baseURI = this.draftURIs[writeToken];
|
|
@@ -103,17 +105,31 @@ var HttpClient = /*#__PURE__*/function () {
|
|
|
103
105
|
};
|
|
104
106
|
case 18:
|
|
105
107
|
if (response.ok) {
|
|
106
|
-
_context.next =
|
|
108
|
+
_context.next = 47;
|
|
107
109
|
break;
|
|
108
110
|
}
|
|
109
|
-
if (!(
|
|
111
|
+
if (!((parseInt(response.status) >= 500 || forceFailover) && allowRetry && attempts < this.retries)) {
|
|
112
|
+
_context.next = 31;
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
if (!allowFailover) {
|
|
110
116
|
_context.next = 25;
|
|
111
117
|
break;
|
|
112
118
|
}
|
|
113
|
-
//
|
|
114
|
-
this.Log("HttpClient failing over from ".concat(this.BaseURI(), ": ").concat(attempts + 1, " attempts"), true);
|
|
119
|
+
// Fail over to alternate node
|
|
115
120
|
this.uriIndex = (this.uriIndex + 1) % this.uris.length;
|
|
116
|
-
|
|
121
|
+
this.Log("HttpClient failing over from ".concat(baseURI.toString(), ": ").concat(attempts + 1, " attempts"), true);
|
|
122
|
+
_context.next = 28;
|
|
123
|
+
break;
|
|
124
|
+
case 25:
|
|
125
|
+
// Wait and retry
|
|
126
|
+
this.Log("HttpClient retrying request from ".concat(baseURI.toString(), ": ").concat(attempts + 1, " attempts"), true);
|
|
127
|
+
_context.next = 28;
|
|
128
|
+
return new Promise(function (resolve) {
|
|
129
|
+
return setTimeout(resolve, 1000);
|
|
130
|
+
});
|
|
131
|
+
case 28:
|
|
132
|
+
_context.next = 30;
|
|
117
133
|
return this.Request({
|
|
118
134
|
method: method,
|
|
119
135
|
path: path,
|
|
@@ -124,34 +140,34 @@ var HttpClient = /*#__PURE__*/function () {
|
|
|
124
140
|
attempts: attempts + 1,
|
|
125
141
|
forceFailover: forceFailover
|
|
126
142
|
});
|
|
127
|
-
case
|
|
143
|
+
case 30:
|
|
128
144
|
return _context.abrupt("return", _context.sent);
|
|
129
|
-
case
|
|
145
|
+
case 31:
|
|
130
146
|
// Parse JSON error if headers indicate JSON
|
|
131
147
|
responseType = response.headers ? response.headers.get("content-type") || "" : "";
|
|
132
148
|
errorBody = "";
|
|
133
149
|
if (!(response.text && response.json)) {
|
|
134
|
-
_context.next =
|
|
150
|
+
_context.next = 44;
|
|
135
151
|
break;
|
|
136
152
|
}
|
|
137
153
|
if (!responseType.includes("application/json")) {
|
|
138
|
-
_context.next =
|
|
154
|
+
_context.next = 40;
|
|
139
155
|
break;
|
|
140
156
|
}
|
|
141
|
-
_context.next =
|
|
157
|
+
_context.next = 37;
|
|
142
158
|
return response.json();
|
|
143
|
-
case
|
|
159
|
+
case 37:
|
|
144
160
|
_context.t1 = _context.sent;
|
|
145
|
-
_context.next =
|
|
161
|
+
_context.next = 43;
|
|
146
162
|
break;
|
|
147
|
-
case
|
|
148
|
-
_context.next =
|
|
163
|
+
case 40:
|
|
164
|
+
_context.next = 42;
|
|
149
165
|
return response.text();
|
|
150
|
-
case
|
|
166
|
+
case 42:
|
|
151
167
|
_context.t1 = _context.sent;
|
|
152
|
-
case
|
|
168
|
+
case 43:
|
|
153
169
|
errorBody = _context.t1;
|
|
154
|
-
case
|
|
170
|
+
case 44:
|
|
155
171
|
error = {
|
|
156
172
|
name: "ElvHttpClientError",
|
|
157
173
|
status: response.status,
|
|
@@ -163,10 +179,10 @@ var HttpClient = /*#__PURE__*/function () {
|
|
|
163
179
|
};
|
|
164
180
|
this.Log(JSON.stringify(error, null, 2), true);
|
|
165
181
|
throw error;
|
|
166
|
-
case
|
|
182
|
+
case 47:
|
|
167
183
|
this.Log("".concat(response.status, " - ").concat(method, " ").concat(uri.toString()));
|
|
168
184
|
return _context.abrupt("return", response);
|
|
169
|
-
case
|
|
185
|
+
case 49:
|
|
170
186
|
case "end":
|
|
171
187
|
return _context.stop();
|
|
172
188
|
}
|
|
@@ -2807,7 +2807,7 @@ exports.CallBitcodeMethod = /*#__PURE__*/function () {
|
|
|
2807
2807
|
method: constant ? "GET" : "POST",
|
|
2808
2808
|
path: path,
|
|
2809
2809
|
queryParams: queryParams,
|
|
2810
|
-
|
|
2810
|
+
allowFailover: false
|
|
2811
2811
|
});
|
|
2812
2812
|
case 17:
|
|
2813
2813
|
_context35.t2 = _context35.sent;
|
|
@@ -1646,7 +1646,7 @@ exports.FinalizeContentObject = /*#__PURE__*/function () {
|
|
|
1646
1646
|
headers: _context20.t13,
|
|
1647
1647
|
method: "POST",
|
|
1648
1648
|
path: _context20.t14,
|
|
1649
|
-
|
|
1649
|
+
allowFailover: false
|
|
1650
1650
|
};
|
|
1651
1651
|
_context20.t16 = _context20.t12.Request.call(_context20.t12, _context20.t15);
|
|
1652
1652
|
_context20.next = 34;
|
|
@@ -1904,7 +1904,7 @@ exports.MergeMetadata = /*#__PURE__*/function () {
|
|
|
1904
1904
|
method: "POST",
|
|
1905
1905
|
path: _context24.t2,
|
|
1906
1906
|
body: _context24.t3,
|
|
1907
|
-
|
|
1907
|
+
allowFailover: false
|
|
1908
1908
|
};
|
|
1909
1909
|
_context24.next = 15;
|
|
1910
1910
|
return _context24.t0.Request.call(_context24.t0, _context24.t4);
|
|
@@ -1961,7 +1961,7 @@ exports.ReplaceMetadata = /*#__PURE__*/function () {
|
|
|
1961
1961
|
method: "PUT",
|
|
1962
1962
|
path: _context25.t2,
|
|
1963
1963
|
body: _context25.t3,
|
|
1964
|
-
|
|
1964
|
+
allowFailover: false
|
|
1965
1965
|
};
|
|
1966
1966
|
_context25.next = 15;
|
|
1967
1967
|
return _context25.t0.Request.call(_context25.t0, _context25.t4);
|
|
@@ -2016,7 +2016,7 @@ exports.DeleteMetadata = /*#__PURE__*/function () {
|
|
|
2016
2016
|
headers: _context26.t1,
|
|
2017
2017
|
method: "DELETE",
|
|
2018
2018
|
path: _context26.t2,
|
|
2019
|
-
|
|
2019
|
+
allowFailover: false
|
|
2020
2020
|
};
|
|
2021
2021
|
_context26.next = 14;
|
|
2022
2022
|
return _context26.t0.Request.call(_context26.t0, _context26.t3);
|