@devpad/api 2.0.0 → 2.0.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/request.d.ts +2 -0
- package/dist/request.d.ts.map +1 -1
- package/dist/request.js +27 -23
- package/package.json +2 -2
package/dist/request.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export declare class ApiClient {
|
|
|
24
24
|
private custom_fetch?;
|
|
25
25
|
private credentials?;
|
|
26
26
|
private auth_mode;
|
|
27
|
+
private debug;
|
|
27
28
|
constructor(options: {
|
|
28
29
|
base_url: string;
|
|
29
30
|
api_key?: string;
|
|
@@ -33,6 +34,7 @@ export declare class ApiClient {
|
|
|
33
34
|
auth_mode?: "session" | "key" | "cookie";
|
|
34
35
|
default_headers?: Record<string, string>;
|
|
35
36
|
custom_fetch?: typeof fetch;
|
|
37
|
+
debug?: boolean;
|
|
36
38
|
});
|
|
37
39
|
private buildUrl;
|
|
38
40
|
private generateRequestId;
|
package/dist/request.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIxE,MAAM,MAAM,cAAc,GAAG;IAC5B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,SAAS;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC,OAAO,CAAC,WAAW,CAAC,CAAqC;IACzD,OAAO,CAAC,SAAS,CAA+B;
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIxE,MAAM,MAAM,cAAc,GAAG;IAC5B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,SAAS;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC,OAAO,CAAC,WAAW,CAAC,CAAqC;IACzD,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,KAAK,CAAU;gBAEX,OAAO,EAAE;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,aAAa,CAAC;QACjD,SAAS,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAC;QACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,YAAY,CAAC,EAAE,OAAO,KAAK,CAAC;QAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;KAChB;IAkBD,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,iBAAiB;YAIX,OAAO;IA4Id,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAI9E,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAI/E,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhF,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAI9E,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjF,OAAO;IAIP,GAAG,IAAI,MAAM;IAIb,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAaxC"}
|
package/dist/request.js
CHANGED
|
@@ -18,6 +18,7 @@ export class ApiClient {
|
|
|
18
18
|
this.default_headers = options.default_headers ?? {};
|
|
19
19
|
this.custom_fetch = options.custom_fetch;
|
|
20
20
|
this.request_history = new ArrayBufferedQueue(options.max_history_size ?? 5);
|
|
21
|
+
this.debug = options.debug ?? false;
|
|
21
22
|
}
|
|
22
23
|
buildUrl(path, query) {
|
|
23
24
|
const url = new URL(`${this.base_url}${path}`);
|
|
@@ -38,11 +39,9 @@ export class ApiClient {
|
|
|
38
39
|
const requestId = this.generateRequestId();
|
|
39
40
|
const startTime = Date.now();
|
|
40
41
|
const timestamp = new Date().toISOString();
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
query,
|
|
45
|
-
});
|
|
42
|
+
if (this.debug) {
|
|
43
|
+
console.log(`[DEBUG][${this.category}] ${method} ${path} [${requestId}]`, { body, query });
|
|
44
|
+
}
|
|
46
45
|
const request_headers = {
|
|
47
46
|
"Content-Type": "application/json",
|
|
48
47
|
"X-Request-ID": requestId,
|
|
@@ -84,12 +83,14 @@ export class ApiClient {
|
|
|
84
83
|
historyEntry.status = response.status;
|
|
85
84
|
historyEntry.duration = duration;
|
|
86
85
|
if (!response.ok) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
86
|
+
if (this.debug) {
|
|
87
|
+
console.log(`[ERROR][${this.category}] ${method} ${path} [${requestId}] failed`, {
|
|
88
|
+
status: response.status,
|
|
89
|
+
duration: `${duration}ms`,
|
|
90
|
+
body,
|
|
91
|
+
query,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
93
94
|
try {
|
|
94
95
|
// Use centralized error handling
|
|
95
96
|
handleHttpResponse(response);
|
|
@@ -124,22 +125,25 @@ export class ApiClient {
|
|
|
124
125
|
}
|
|
125
126
|
}
|
|
126
127
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
128
|
+
if (this.debug) {
|
|
129
|
+
console.log(`[INFO][${this.category}] ${method} ${path} [${requestId}] completed`, {
|
|
130
|
+
status: response.status,
|
|
131
|
+
duration: `${duration}ms`,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
132
134
|
return result;
|
|
133
135
|
}
|
|
134
136
|
catch (error) {
|
|
135
137
|
const duration = Date.now() - startTime;
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
138
|
+
if (this.debug) {
|
|
139
|
+
console.log(`[ERROR][${this.category}] ${method} ${path} [${requestId}] failed`, {
|
|
140
|
+
url,
|
|
141
|
+
duration: `${duration}ms`,
|
|
142
|
+
error: error instanceof Error ? error.message : String(error),
|
|
143
|
+
body,
|
|
144
|
+
query,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
143
147
|
// If this is already an API error, just re-throw it (already added to history above)
|
|
144
148
|
if (error instanceof ApiError || error instanceof AuthenticationError) {
|
|
145
149
|
throw error;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devpad/api",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "f0rbit",
|
|
6
6
|
"url": "https://github.com/f0rbit"
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"clean": "rm -rf dist"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@devpad/schema": "^2.0.
|
|
26
|
+
"@devpad/schema": "^2.0.1",
|
|
27
27
|
"@f0rbit/corpus": "^0.3.5",
|
|
28
28
|
"zod": "^3.22.4"
|
|
29
29
|
},
|