@3dverse/api 0.2.4 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.d.ts +0 -1
- package/dist/index.js +18 -7
- package/dist/index.js.map +3 -3
- package/dist/index.mjs +18 -6
- package/dist/index.mjs.map +2 -2
- package/package.json +7 -6
package/dist/index.mjs
CHANGED
@@ -836,6 +836,7 @@ function generateGuestToken({
|
|
836
836
|
}
|
837
837
|
|
838
838
|
// index.ts
|
839
|
+
import axiosRetry, { isNetworkError, isIdempotentRequestError } from "axios-retry";
|
839
840
|
function setApiKey(apiKey) {
|
840
841
|
axiosInstance.defaults.headers.common["api_key"] = apiKey;
|
841
842
|
delete axiosInstance.defaults.headers.common["user_token"];
|
@@ -844,9 +845,6 @@ function setUserToken(userToken) {
|
|
844
845
|
axiosInstance.defaults.headers.common["user_token"] = userToken;
|
845
846
|
delete axiosInstance.defaults.headers.common["api_key"];
|
846
847
|
}
|
847
|
-
function setBaseUrl(url) {
|
848
|
-
axiosInstance.defaults.baseURL = url;
|
849
|
-
}
|
850
848
|
var ServiceError = class extends Error {
|
851
849
|
errorCode;
|
852
850
|
httpCode;
|
@@ -876,6 +874,11 @@ var UnexpectedServiceError = class extends ServiceError {
|
|
876
874
|
function installInterceptors() {
|
877
875
|
const CLIENT_ERROR = 400;
|
878
876
|
const INTERNAL_SERVER_ERROR = 500;
|
877
|
+
axiosRetry(axiosInstance, {
|
878
|
+
retries: 5,
|
879
|
+
retryDelay: axiosRetry.exponentialDelay,
|
880
|
+
retryCondition: shouldRetryRequest
|
881
|
+
});
|
879
882
|
axiosInstance.interceptors.response.use(
|
880
883
|
(successFulResponse) => {
|
881
884
|
if (successFulResponse.config.responseType === "stream") {
|
@@ -893,14 +896,24 @@ function installInterceptors() {
|
|
893
896
|
if (!errorData && axiosError.request.method === "HEAD" && status >= CLIENT_ERROR && status < INTERNAL_SERVER_ERROR) {
|
894
897
|
return axiosError.response;
|
895
898
|
}
|
896
|
-
if (!errorData ||
|
899
|
+
if (!errorData || typeof errorData !== "object") {
|
897
900
|
return Promise.reject(new UnexpectedServiceError(status, errorData));
|
898
901
|
}
|
899
|
-
const serviceError = errorData
|
902
|
+
const serviceError = errorData;
|
900
903
|
return Promise.reject(new ApiError(serviceError.errorCode, status, serviceError.message, serviceError));
|
901
904
|
}
|
902
905
|
);
|
903
906
|
}
|
907
|
+
function shouldRetryRequest(error) {
|
908
|
+
const status = error.response?.status;
|
909
|
+
switch (status) {
|
910
|
+
case 403:
|
911
|
+
case 404:
|
912
|
+
return true;
|
913
|
+
default:
|
914
|
+
return isNetworkError(error) || isIdempotentRequestError(error);
|
915
|
+
}
|
916
|
+
}
|
904
917
|
installInterceptors();
|
905
918
|
export {
|
906
919
|
ApiError,
|
@@ -972,7 +985,6 @@ export {
|
|
972
985
|
setApiKey,
|
973
986
|
setAssetThumbnail,
|
974
987
|
setBaseURL,
|
975
|
-
setBaseUrl,
|
976
988
|
setUserToken,
|
977
989
|
updateAssetDescription,
|
978
990
|
updateEntity,
|