@oneuptime/common 10.5.25 → 10.5.27
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/Types/API/HTTPErrorResponse.ts +37 -9
- package/UI/Utils/API/API.ts +33 -6
- package/build/dist/Types/API/HTTPErrorResponse.js +34 -8
- package/build/dist/Types/API/HTTPErrorResponse.js.map +1 -1
- package/build/dist/UI/Utils/API/API.js +28 -5
- package/build/dist/UI/Utils/API/API.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { JSONObject } from "../JSON";
|
|
2
|
-
import Typeof from "../Typeof";
|
|
1
|
+
import { JSONObject, JSONValue } from "../JSON";
|
|
3
2
|
import HTTPResponse from "./HTTPResponse";
|
|
4
3
|
|
|
5
4
|
export default class HTTPErrorResponse extends HTTPResponse<JSONObject> {
|
|
@@ -8,18 +7,47 @@ export default class HTTPErrorResponse extends HTTPResponse<JSONObject> {
|
|
|
8
7
|
return "";
|
|
9
8
|
}
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
/*
|
|
11
|
+
* Body shapes we accept, in priority order. Each field may be a
|
|
12
|
+
* plain string OR an object — some gateways/proxies return
|
|
13
|
+
* `{ error: { message } }` — so every candidate is coerced to a
|
|
14
|
+
* string. Returning a raw object here is what rendered as
|
|
15
|
+
* "[object Object]" in error banners downstream.
|
|
16
|
+
*/
|
|
17
|
+
for (const key of ["data", "message", "error"]) {
|
|
18
|
+
const coerced: string = HTTPErrorResponse.coerceToMessage(this.data[key]);
|
|
19
|
+
if (coerced) {
|
|
20
|
+
return coerced;
|
|
21
|
+
}
|
|
13
22
|
}
|
|
14
23
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
24
|
+
return "";
|
|
25
|
+
}
|
|
18
26
|
|
|
19
|
-
|
|
27
|
+
private static coerceToMessage(value: JSONValue | undefined): string {
|
|
28
|
+
if (value === undefined || value === null) {
|
|
20
29
|
return "";
|
|
21
30
|
}
|
|
22
31
|
|
|
23
|
-
|
|
32
|
+
if (typeof value === "string") {
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (typeof value === "object") {
|
|
37
|
+
// Common nested shapes: { message: "..." } or { error: "..." }.
|
|
38
|
+
const nested: JSONValue | undefined =
|
|
39
|
+
(value as JSONObject)["message"] ?? (value as JSONObject)["error"];
|
|
40
|
+
if (typeof nested === "string" && nested) {
|
|
41
|
+
return nested;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
try {
|
|
45
|
+
return JSON.stringify(value);
|
|
46
|
+
} catch {
|
|
47
|
+
return "Unknown error";
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return String(value);
|
|
24
52
|
}
|
|
25
53
|
}
|
package/UI/Utils/API/API.ts
CHANGED
|
@@ -184,18 +184,45 @@ class BaseAPI extends API {
|
|
|
184
184
|
err: HTTPErrorResponse | Exception | unknown,
|
|
185
185
|
): string {
|
|
186
186
|
if (err instanceof HTTPErrorResponse) {
|
|
187
|
-
if (err.statusCode === 502) {
|
|
187
|
+
if (err.statusCode === 502 || err.statusCode === 504) {
|
|
188
188
|
return "Error connecting to server. Please try again in few minutes.";
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
191
|
+
return err.message || "Server Error. Please try again";
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
if (err instanceof Error) {
|
|
195
|
+
return err.message || "Server Error. Please try again";
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
if (typeof err === "string") {
|
|
199
|
+
return err || "Server Error. Please try again";
|
|
200
|
+
}
|
|
194
201
|
|
|
195
|
-
|
|
202
|
+
/*
|
|
203
|
+
* Never surface a raw object as "[object Object]" — pull a message
|
|
204
|
+
* out of it (gateways/proxies often send `{ message }` or `{ error }`)
|
|
205
|
+
* or stringify it so the UI shows something actionable.
|
|
206
|
+
*/
|
|
207
|
+
if (err && typeof err === "object") {
|
|
208
|
+
const obj: { message?: unknown; error?: unknown } = err as {
|
|
209
|
+
message?: unknown;
|
|
210
|
+
error?: unknown;
|
|
211
|
+
};
|
|
212
|
+
if (typeof obj.message === "string" && obj.message) {
|
|
213
|
+
return obj.message;
|
|
214
|
+
}
|
|
215
|
+
if (typeof obj.error === "string" && obj.error) {
|
|
216
|
+
return obj.error;
|
|
217
|
+
}
|
|
218
|
+
try {
|
|
219
|
+
return JSON.stringify(err);
|
|
220
|
+
} catch {
|
|
221
|
+
return "Server Error. Please try again";
|
|
222
|
+
}
|
|
196
223
|
}
|
|
197
224
|
|
|
198
|
-
return
|
|
225
|
+
return "Server Error. Please try again";
|
|
199
226
|
}
|
|
200
227
|
}
|
|
201
228
|
|
|
@@ -1,20 +1,46 @@
|
|
|
1
|
-
import Typeof from "../Typeof";
|
|
2
1
|
import HTTPResponse from "./HTTPResponse";
|
|
3
2
|
export default class HTTPErrorResponse extends HTTPResponse {
|
|
4
3
|
get message() {
|
|
5
4
|
if (!this.data) {
|
|
6
5
|
return "";
|
|
7
6
|
}
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
/*
|
|
8
|
+
* Body shapes we accept, in priority order. Each field may be a
|
|
9
|
+
* plain string OR an object — some gateways/proxies return
|
|
10
|
+
* `{ error: { message } }` — so every candidate is coerced to a
|
|
11
|
+
* string. Returning a raw object here is what rendered as
|
|
12
|
+
* "[object Object]" in error banners downstream.
|
|
13
|
+
*/
|
|
14
|
+
for (const key of ["data", "message", "error"]) {
|
|
15
|
+
const coerced = HTTPErrorResponse.coerceToMessage(this.data[key]);
|
|
16
|
+
if (coerced) {
|
|
17
|
+
return coerced;
|
|
18
|
+
}
|
|
10
19
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
20
|
+
return "";
|
|
21
|
+
}
|
|
22
|
+
static coerceToMessage(value) {
|
|
23
|
+
var _a;
|
|
24
|
+
if (value === undefined || value === null) {
|
|
15
25
|
return "";
|
|
16
26
|
}
|
|
17
|
-
|
|
27
|
+
if (typeof value === "string") {
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
if (typeof value === "object") {
|
|
31
|
+
// Common nested shapes: { message: "..." } or { error: "..." }.
|
|
32
|
+
const nested = (_a = value["message"]) !== null && _a !== void 0 ? _a : value["error"];
|
|
33
|
+
if (typeof nested === "string" && nested) {
|
|
34
|
+
return nested;
|
|
35
|
+
}
|
|
36
|
+
try {
|
|
37
|
+
return JSON.stringify(value);
|
|
38
|
+
}
|
|
39
|
+
catch (_b) {
|
|
40
|
+
return "Unknown error";
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return String(value);
|
|
18
44
|
}
|
|
19
45
|
}
|
|
20
46
|
//# sourceMappingURL=HTTPErrorResponse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HTTPErrorResponse.js","sourceRoot":"","sources":["../../../../Types/API/HTTPErrorResponse.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"HTTPErrorResponse.js","sourceRoot":"","sources":["../../../../Types/API/HTTPErrorResponse.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,YAAwB;IACrE,IAAW,OAAO;QAChB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;QAED;;;;;;WAMG;QACH,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAW,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1E,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,KAA4B;;QACzD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,gEAAgE;YAChE,MAAM,MAAM,GACV,MAAC,KAAoB,CAAC,SAAS,CAAC,mCAAK,KAAoB,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,EAAE,CAAC;gBACzC,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YAAC,WAAM,CAAC;gBACP,OAAO,eAAe,CAAC;YACzB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -108,15 +108,38 @@ class BaseAPI extends API {
|
|
|
108
108
|
}
|
|
109
109
|
static getFriendlyMessage(err) {
|
|
110
110
|
if (err instanceof HTTPErrorResponse) {
|
|
111
|
-
if (err.statusCode === 502) {
|
|
111
|
+
if (err.statusCode === 502 || err.statusCode === 504) {
|
|
112
112
|
return "Error connecting to server. Please try again in few minutes.";
|
|
113
113
|
}
|
|
114
|
-
|
|
115
|
-
|
|
114
|
+
return err.message || "Server Error. Please try again";
|
|
115
|
+
}
|
|
116
|
+
if (err instanceof Error) {
|
|
117
|
+
return err.message || "Server Error. Please try again";
|
|
118
|
+
}
|
|
119
|
+
if (typeof err === "string") {
|
|
120
|
+
return err || "Server Error. Please try again";
|
|
121
|
+
}
|
|
122
|
+
/*
|
|
123
|
+
* Never surface a raw object as "[object Object]" — pull a message
|
|
124
|
+
* out of it (gateways/proxies often send `{ message }` or `{ error }`)
|
|
125
|
+
* or stringify it so the UI shows something actionable.
|
|
126
|
+
*/
|
|
127
|
+
if (err && typeof err === "object") {
|
|
128
|
+
const obj = err;
|
|
129
|
+
if (typeof obj.message === "string" && obj.message) {
|
|
130
|
+
return obj.message;
|
|
131
|
+
}
|
|
132
|
+
if (typeof obj.error === "string" && obj.error) {
|
|
133
|
+
return obj.error;
|
|
134
|
+
}
|
|
135
|
+
try {
|
|
136
|
+
return JSON.stringify(err);
|
|
137
|
+
}
|
|
138
|
+
catch (_a) {
|
|
139
|
+
return "Server Error. Please try again";
|
|
116
140
|
}
|
|
117
|
-
return err.message;
|
|
118
141
|
}
|
|
119
|
-
return
|
|
142
|
+
return "Server Error. Please try again";
|
|
120
143
|
}
|
|
121
144
|
}
|
|
122
145
|
BaseAPI.refreshPromise = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"API.js","sourceRoot":"","sources":["../../../../../UI/Utils/API/API.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"API.js","sourceRoot":"","sources":["../../../../../UI/Utils/API/API.ts"],"names":[],"mappings":"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"}
|