@thetechfossil/auth2 1.2.20 → 1.2.21
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/index.components.js +71 -8
- package/dist/index.components.js.map +1 -1
- package/dist/index.components.mjs +71 -8
- package/dist/index.components.mjs.map +1 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +71 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +71 -8
- package/dist/index.mjs.map +1 -1
- package/dist/index.next.d.mts +1 -0
- package/dist/index.next.d.ts +1 -0
- package/dist/index.next.js +71 -8
- package/dist/index.next.js.map +1 -1
- package/dist/index.next.mjs +71 -8
- package/dist/index.next.mjs.map +1 -1
- package/dist/index.next.server.d.mts +1 -0
- package/dist/index.next.server.d.ts +1 -0
- package/dist/index.next.server.js +71 -8
- package/dist/index.next.server.js.map +1 -1
- package/dist/index.next.server.mjs +71 -8
- package/dist/index.next.server.mjs.map +1 -1
- package/dist/index.node.d.mts +1 -0
- package/dist/index.node.d.ts +1 -0
- package/dist/index.node.js +71 -8
- package/dist/index.node.js.map +1 -1
- package/dist/index.node.mjs +71 -8
- package/dist/index.node.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.components.js
CHANGED
|
@@ -18,6 +18,16 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
18
18
|
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
19
19
|
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
20
20
|
});
|
|
21
|
+
var ERROR_MESSAGES = {
|
|
22
|
+
NETWORK_ERROR: "Unable to connect to the server. Please check your internet connection and try again.",
|
|
23
|
+
TIMEOUT: "The request took too long. Please try again.",
|
|
24
|
+
SERVER_ERROR: "Something went wrong on our end. Please try again later.",
|
|
25
|
+
UNAUTHORIZED: "Your session has expired. Please log in again.",
|
|
26
|
+
FORBIDDEN: "You do not have permission to perform this action.",
|
|
27
|
+
NOT_FOUND: "The requested resource was not found.",
|
|
28
|
+
RATE_LIMITED: "Too many requests. Please wait a moment and try again.",
|
|
29
|
+
UNKNOWN: "An unexpected error occurred. Please try again."
|
|
30
|
+
};
|
|
21
31
|
var HttpClient = class {
|
|
22
32
|
constructor(baseUrl, defaultHeaders = {}) {
|
|
23
33
|
this.csrfToken = null;
|
|
@@ -52,7 +62,7 @@ var HttpClient = class {
|
|
|
52
62
|
}
|
|
53
63
|
return config;
|
|
54
64
|
},
|
|
55
|
-
(error) => Promise.reject(error)
|
|
65
|
+
(error) => Promise.reject(this.createUserFriendlyError(error))
|
|
56
66
|
);
|
|
57
67
|
this.axiosInstance.interceptors.response.use(
|
|
58
68
|
(response) => response,
|
|
@@ -67,18 +77,71 @@ var HttpClient = class {
|
|
|
67
77
|
}
|
|
68
78
|
return this.axiosInstance(originalRequest);
|
|
69
79
|
} catch (refreshError) {
|
|
70
|
-
return Promise.reject(refreshError);
|
|
80
|
+
return Promise.reject(this.createUserFriendlyError(refreshError));
|
|
71
81
|
}
|
|
72
82
|
}
|
|
73
|
-
|
|
74
|
-
const customError = new Error(error.response.data.message);
|
|
75
|
-
customError.response = error.response;
|
|
76
|
-
return Promise.reject(customError);
|
|
77
|
-
}
|
|
78
|
-
return Promise.reject(error);
|
|
83
|
+
return Promise.reject(this.createUserFriendlyError(error));
|
|
79
84
|
}
|
|
80
85
|
);
|
|
81
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Creates a user-friendly error message from an Axios error
|
|
89
|
+
*/
|
|
90
|
+
createUserFriendlyError(error) {
|
|
91
|
+
if (error instanceof Error && !error.isAxiosError) {
|
|
92
|
+
return error;
|
|
93
|
+
}
|
|
94
|
+
let message;
|
|
95
|
+
let statusCode;
|
|
96
|
+
if (axios__default.default.isAxiosError(error)) {
|
|
97
|
+
statusCode = error.response?.status;
|
|
98
|
+
const responseData = error.response?.data;
|
|
99
|
+
if (responseData?.message) {
|
|
100
|
+
message = responseData.message;
|
|
101
|
+
} else if (!error.response) {
|
|
102
|
+
if (error.code === "ECONNABORTED" || error.message.includes("timeout")) {
|
|
103
|
+
message = ERROR_MESSAGES.TIMEOUT;
|
|
104
|
+
} else if (error.code === "ERR_NETWORK" || error.message === "Network Error") {
|
|
105
|
+
message = ERROR_MESSAGES.NETWORK_ERROR;
|
|
106
|
+
} else {
|
|
107
|
+
message = ERROR_MESSAGES.NETWORK_ERROR;
|
|
108
|
+
}
|
|
109
|
+
} else {
|
|
110
|
+
switch (statusCode) {
|
|
111
|
+
case 400:
|
|
112
|
+
message = responseData?.message || "Invalid request. Please check your input.";
|
|
113
|
+
break;
|
|
114
|
+
case 401:
|
|
115
|
+
message = responseData?.message || ERROR_MESSAGES.UNAUTHORIZED;
|
|
116
|
+
break;
|
|
117
|
+
case 403:
|
|
118
|
+
message = responseData?.message || ERROR_MESSAGES.FORBIDDEN;
|
|
119
|
+
break;
|
|
120
|
+
case 404:
|
|
121
|
+
message = responseData?.message || ERROR_MESSAGES.NOT_FOUND;
|
|
122
|
+
break;
|
|
123
|
+
case 429:
|
|
124
|
+
message = ERROR_MESSAGES.RATE_LIMITED;
|
|
125
|
+
break;
|
|
126
|
+
case 500:
|
|
127
|
+
case 502:
|
|
128
|
+
case 503:
|
|
129
|
+
case 504:
|
|
130
|
+
message = ERROR_MESSAGES.SERVER_ERROR;
|
|
131
|
+
break;
|
|
132
|
+
default:
|
|
133
|
+
message = responseData?.message || ERROR_MESSAGES.UNKNOWN;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
} else {
|
|
137
|
+
message = error?.message || ERROR_MESSAGES.UNKNOWN;
|
|
138
|
+
}
|
|
139
|
+
const customError = new Error(message);
|
|
140
|
+
customError.response = error?.response;
|
|
141
|
+
customError.statusCode = statusCode;
|
|
142
|
+
customError.originalError = error;
|
|
143
|
+
return customError;
|
|
144
|
+
}
|
|
82
145
|
async get(endpoint, headers) {
|
|
83
146
|
const response = await this.axiosInstance.get(endpoint, { headers });
|
|
84
147
|
return response.data;
|