@3dverse/api 0.2.4 → 0.3.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/dist/_prebuild/wrapper.d.ts +47 -30
- package/dist/index.d.ts +0 -1
- package/dist/index.js +18 -7
- package/dist/index.js.map +3 -3
- package/dist/index.mjs +20 -6
- package/dist/index.mjs.map +3 -3
- package/package.json +7 -6
package/dist/index.mjs
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
// index.ts
|
2
|
+
import axiosRetry, { isNetworkError, isIdempotentRequestError } from "axios-retry";
|
3
|
+
|
1
4
|
// _prebuild/wrapper.ts
|
2
5
|
import axios from "axios";
|
3
6
|
var axiosInstance = axios.create({
|
@@ -844,9 +847,6 @@ function setUserToken(userToken) {
|
|
844
847
|
axiosInstance.defaults.headers.common["user_token"] = userToken;
|
845
848
|
delete axiosInstance.defaults.headers.common["api_key"];
|
846
849
|
}
|
847
|
-
function setBaseUrl(url) {
|
848
|
-
axiosInstance.defaults.baseURL = url;
|
849
|
-
}
|
850
850
|
var ServiceError = class extends Error {
|
851
851
|
errorCode;
|
852
852
|
httpCode;
|
@@ -876,6 +876,11 @@ var UnexpectedServiceError = class extends ServiceError {
|
|
876
876
|
function installInterceptors() {
|
877
877
|
const CLIENT_ERROR = 400;
|
878
878
|
const INTERNAL_SERVER_ERROR = 500;
|
879
|
+
axiosRetry(axiosInstance, {
|
880
|
+
retries: 5,
|
881
|
+
retryDelay: axiosRetry.exponentialDelay,
|
882
|
+
retryCondition: shouldRetryRequest
|
883
|
+
});
|
879
884
|
axiosInstance.interceptors.response.use(
|
880
885
|
(successFulResponse) => {
|
881
886
|
if (successFulResponse.config.responseType === "stream") {
|
@@ -893,14 +898,24 @@ function installInterceptors() {
|
|
893
898
|
if (!errorData && axiosError.request.method === "HEAD" && status >= CLIENT_ERROR && status < INTERNAL_SERVER_ERROR) {
|
894
899
|
return axiosError.response;
|
895
900
|
}
|
896
|
-
if (!errorData ||
|
901
|
+
if (!errorData || typeof errorData !== "object") {
|
897
902
|
return Promise.reject(new UnexpectedServiceError(status, errorData));
|
898
903
|
}
|
899
|
-
const serviceError = errorData
|
904
|
+
const serviceError = errorData;
|
900
905
|
return Promise.reject(new ApiError(serviceError.errorCode, status, serviceError.message, serviceError));
|
901
906
|
}
|
902
907
|
);
|
903
908
|
}
|
909
|
+
function shouldRetryRequest(error) {
|
910
|
+
const status = error.response?.status;
|
911
|
+
switch (status) {
|
912
|
+
case 403:
|
913
|
+
case 404:
|
914
|
+
return true;
|
915
|
+
default:
|
916
|
+
return isNetworkError(error) || isIdempotentRequestError(error);
|
917
|
+
}
|
918
|
+
}
|
904
919
|
installInterceptors();
|
905
920
|
export {
|
906
921
|
ApiError,
|
@@ -972,7 +987,6 @@ export {
|
|
972
987
|
setApiKey,
|
973
988
|
setAssetThumbnail,
|
974
989
|
setBaseURL,
|
975
|
-
setBaseUrl,
|
976
990
|
setUserToken,
|
977
991
|
updateAssetDescription,
|
978
992
|
updateEntity,
|