aziosxjs 1.0.0 → 1.0.2
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/README.md +393 -93
- package/dist/adapters/httpAdapter.d.ts +18 -0
- package/dist/adapters/httpAdapter.js +156 -0
- package/dist/adapters/httpAdapter.js.map +1 -1
- package/dist/adapters/index.d.ts +1 -0
- package/dist/adapters/index.js +7 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/auth/AuthManager.d.ts +100 -0
- package/dist/auth/AuthManager.js +226 -0
- package/dist/auth/AuthManager.js.map +1 -0
- package/dist/core/Azios.d.ts +2 -0
- package/dist/core/Azios.js +45 -30
- package/dist/core/Azios.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +13 -5
- package/dist/index.js.map +1 -1
- package/dist/monitoring/RequestMonitor.d.ts +113 -0
- package/dist/monitoring/RequestMonitor.js +264 -0
- package/dist/monitoring/RequestMonitor.js.map +1 -0
- package/dist/runtimes/AdapterFactory.js +15 -1
- package/dist/runtimes/AdapterFactory.js.map +1 -1
- package/dist/types/request.d.ts +2 -0
- package/package.json +62 -49
- package/src/adapters/httpAdapter.ts +152 -0
- package/src/adapters/index.ts +1 -0
- package/src/auth/AuthManager.ts +283 -0
- package/src/core/Azios.ts +51 -31
- package/src/index.ts +16 -6
- package/src/monitoring/RequestMonitor.ts +326 -0
- package/src/runtimes/AdapterFactory.ts +17 -1
- package/src/types/request.ts +4 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
declare const azios: import("./types/request").AziosInstance;
|
|
2
|
+
export default azios;
|
|
2
3
|
export type { AziosRequestConfig } from "./types/config";
|
|
3
4
|
export type { AziosResponse } from "./types/response";
|
|
4
5
|
export type { AziosInstance } from "./types/request";
|
|
@@ -11,7 +12,10 @@ export { default as PluginManager } from "./plugins/pluginManager";
|
|
|
11
12
|
export { default as MiddlewarePipeline } from "./middleware/MiddlewarePipeline";
|
|
12
13
|
export type { RequestMiddleware, ResponseMiddleware } from "./middleware/MiddlewarePipeline";
|
|
13
14
|
export { detectRuntime, currentRuntime, isRuntime, isServerRuntime, isBrowserRuntime, RuntimeType } from "./runtimes/detectRuntime";
|
|
15
|
+
export { default as RequestMonitor } from "./monitoring/RequestMonitor";
|
|
16
|
+
export type { RequestLog } from "./monitoring/RequestMonitor";
|
|
17
|
+
export { default as AuthManager, createAuthPlugin } from "./auth/AuthManager";
|
|
18
|
+
export type { TokenConfig, AuthEndpoints, AuthManager as IAuthManager } from "./auth/AuthManager";
|
|
14
19
|
export { default as AdapterFactory } from "./runtimes/AdapterFactory";
|
|
15
20
|
export { getCache, setCache, clearCache } from "./cache/memoryCache";
|
|
16
21
|
export { schedule } from "./rateLimiter/rateLimiter";
|
|
17
|
-
export default azios;
|
package/dist/index.js
CHANGED
|
@@ -3,12 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.schedule = exports.clearCache = exports.setCache = exports.getCache = exports.AdapterFactory = exports.RuntimeType = exports.isBrowserRuntime = exports.isServerRuntime = exports.isRuntime = exports.currentRuntime = exports.detectRuntime = exports.MiddlewarePipeline = exports.PluginManager = exports.createInstance = exports.Azios = exports.InterceptorManager = exports.AziosError = void 0;
|
|
6
|
+
exports.schedule = exports.clearCache = exports.setCache = exports.getCache = exports.AdapterFactory = exports.createAuthPlugin = exports.AuthManager = exports.RequestMonitor = exports.RuntimeType = exports.isBrowserRuntime = exports.isServerRuntime = exports.isRuntime = exports.currentRuntime = exports.detectRuntime = exports.MiddlewarePipeline = exports.PluginManager = exports.createInstance = exports.Azios = exports.InterceptorManager = exports.AziosError = void 0;
|
|
7
7
|
const createInstance_1 = require("./core/createInstance");
|
|
8
8
|
// Export main instance
|
|
9
9
|
const azios = (0, createInstance_1.createInstance)({
|
|
10
10
|
url: ""
|
|
11
11
|
});
|
|
12
|
+
exports.default = azios;
|
|
12
13
|
// ============================================
|
|
13
14
|
// Class Exports
|
|
14
15
|
// ============================================
|
|
@@ -40,6 +41,17 @@ Object.defineProperty(exports, "isRuntime", { enumerable: true, get: function ()
|
|
|
40
41
|
Object.defineProperty(exports, "isServerRuntime", { enumerable: true, get: function () { return detectRuntime_1.isServerRuntime; } });
|
|
41
42
|
Object.defineProperty(exports, "isBrowserRuntime", { enumerable: true, get: function () { return detectRuntime_1.isBrowserRuntime; } });
|
|
42
43
|
Object.defineProperty(exports, "RuntimeType", { enumerable: true, get: function () { return detectRuntime_1.RuntimeType; } });
|
|
44
|
+
// ============================================
|
|
45
|
+
// NEW: Monitoring System Exports
|
|
46
|
+
// ============================================
|
|
47
|
+
var RequestMonitor_1 = require("./monitoring/RequestMonitor");
|
|
48
|
+
Object.defineProperty(exports, "RequestMonitor", { enumerable: true, get: function () { return __importDefault(RequestMonitor_1).default; } });
|
|
49
|
+
// ============================================
|
|
50
|
+
// NEW: Authentication System Exports
|
|
51
|
+
// ============================================
|
|
52
|
+
var AuthManager_1 = require("./auth/AuthManager");
|
|
53
|
+
Object.defineProperty(exports, "AuthManager", { enumerable: true, get: function () { return __importDefault(AuthManager_1).default; } });
|
|
54
|
+
Object.defineProperty(exports, "createAuthPlugin", { enumerable: true, get: function () { return AuthManager_1.createAuthPlugin; } });
|
|
43
55
|
var AdapterFactory_1 = require("./runtimes/AdapterFactory");
|
|
44
56
|
Object.defineProperty(exports, "AdapterFactory", { enumerable: true, get: function () { return __importDefault(AdapterFactory_1).default; } });
|
|
45
57
|
// ============================================
|
|
@@ -51,8 +63,4 @@ Object.defineProperty(exports, "setCache", { enumerable: true, get: function ()
|
|
|
51
63
|
Object.defineProperty(exports, "clearCache", { enumerable: true, get: function () { return memoryCache_1.clearCache; } });
|
|
52
64
|
var rateLimiter_1 = require("./rateLimiter/rateLimiter");
|
|
53
65
|
Object.defineProperty(exports, "schedule", { enumerable: true, get: function () { return rateLimiter_1.schedule; } });
|
|
54
|
-
// ============================================
|
|
55
|
-
// Default Export
|
|
56
|
-
// ============================================
|
|
57
|
-
exports.default = azios;
|
|
58
66
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAsD;AAEtD,uBAAuB;AACvB,MAAM,KAAK,GAAG,IAAA,+BAAc,EAAC;IAC3B,GAAG,EAAE,EAAE;CACR,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAsD;AAEtD,uBAAuB;AACvB,MAAM,KAAK,GAAG,IAAA,+BAAc,EAAC;IAC3B,GAAG,EAAE,EAAE;CACR,CAAC,CAAA;AAEF,kBAAe,KAAK,CAAA;AAWpB,+CAA+C;AAC/C,gBAAgB;AAChB,+CAA+C;AAE/C,kDAA2D;AAAlD,yHAAA,OAAO,OAAc;AAC9B,wEAAiF;AAAxE,yIAAA,OAAO,OAAsB;AACtC,sCAA+C;AAAtC,+GAAA,OAAO,OAAS;AACzB,wDAAsD;AAA7C,gHAAA,cAAc,OAAA;AAEvB,+CAA+C;AAC/C,wBAAwB;AACxB,+CAA+C;AAE/C,yDAAkE;AAAzD,+HAAA,OAAO,OAAiB;AAEjC,+CAA+C;AAC/C,4BAA4B;AAC5B,+CAA+C;AAE/C,sEAA+E;AAAtE,yIAAA,OAAO,OAAsB;AAGtC,+CAA+C;AAC/C,0BAA0B;AAC1B,+CAA+C;AAE/C,0DAOiC;AAN/B,8GAAA,aAAa,OAAA;AACb,+GAAA,cAAc,OAAA;AACd,0GAAA,SAAS,OAAA;AACT,gHAAA,eAAe,OAAA;AACf,iHAAA,gBAAgB,OAAA;AAChB,4GAAA,WAAW,OAAA;AAGb,+CAA+C;AAC/C,iCAAiC;AACjC,+CAA+C;AAE/C,8DAAuE;AAA9D,iIAAA,OAAO,OAAkB;AAGlC,+CAA+C;AAC/C,qCAAqC;AACrC,+CAA+C;AAE/C,kDAA6E;AAApE,2HAAA,OAAO,OAAe;AAAE,+GAAA,gBAAgB,OAAA;AAEjD,4DAAqE;AAA5D,iIAAA,OAAO,OAAkB;AAElC,+CAA+C;AAC/C,6BAA6B;AAC7B,+CAA+C;AAE/C,mDAAoE;AAA3D,uGAAA,QAAQ,OAAA;AAAE,uGAAA,QAAQ,OAAA;AAAE,yGAAA,UAAU,OAAA;AACvC,yDAAoD;AAA3C,uGAAA,QAAQ,OAAA"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { AziosRequestConfig } from "../types/config";
|
|
2
|
+
import { AziosResponse } from "../types/response";
|
|
3
|
+
/**
|
|
4
|
+
* Represents a single tracked request/response cycle
|
|
5
|
+
*/
|
|
6
|
+
export interface RequestLog {
|
|
7
|
+
id: string;
|
|
8
|
+
timestamp: number;
|
|
9
|
+
method: string;
|
|
10
|
+
url: string;
|
|
11
|
+
status?: number;
|
|
12
|
+
statusText?: string;
|
|
13
|
+
duration: number;
|
|
14
|
+
retries: number;
|
|
15
|
+
cached: boolean;
|
|
16
|
+
error?: {
|
|
17
|
+
message: string;
|
|
18
|
+
code?: string;
|
|
19
|
+
};
|
|
20
|
+
requestHeaders?: Record<string, any>;
|
|
21
|
+
responseHeaders?: Record<string, any>;
|
|
22
|
+
dataSize?: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Request Monitor - Track all requests for debugging and monitoring
|
|
26
|
+
* Production-grade request tracking system with history, filtering, and export
|
|
27
|
+
*/
|
|
28
|
+
export default class RequestMonitor {
|
|
29
|
+
private enabled;
|
|
30
|
+
private maxEntries;
|
|
31
|
+
private logs;
|
|
32
|
+
private requestMetadata;
|
|
33
|
+
constructor(maxEntries?: number, enabled?: boolean);
|
|
34
|
+
/**
|
|
35
|
+
* Enable monitoring
|
|
36
|
+
*/
|
|
37
|
+
enable(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Disable monitoring
|
|
40
|
+
*/
|
|
41
|
+
disable(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Check if monitoring is enabled
|
|
44
|
+
*/
|
|
45
|
+
isEnabled(): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Mark the start of a request
|
|
48
|
+
*/
|
|
49
|
+
startRequest(config: AziosRequestConfig): string;
|
|
50
|
+
/**
|
|
51
|
+
* Mark the end of a successful request
|
|
52
|
+
*/
|
|
53
|
+
endRequest(requestId: string, config: AziosRequestConfig, response: AziosResponse): void;
|
|
54
|
+
/**
|
|
55
|
+
* Mark the end of a failed request
|
|
56
|
+
*/
|
|
57
|
+
endRequestWithError(requestId: string, config: AziosRequestConfig, error: Error | any): void;
|
|
58
|
+
/**
|
|
59
|
+
* Add a log entry and maintain maxEntries limit
|
|
60
|
+
*/
|
|
61
|
+
private addLog;
|
|
62
|
+
/**
|
|
63
|
+
* Get all logged requests
|
|
64
|
+
*/
|
|
65
|
+
getHistory(): RequestLog[];
|
|
66
|
+
/**
|
|
67
|
+
* Get logs filtered by method
|
|
68
|
+
*/
|
|
69
|
+
getByMethod(method: string): RequestLog[];
|
|
70
|
+
/**
|
|
71
|
+
* Get logs filtered by URL pattern
|
|
72
|
+
*/
|
|
73
|
+
getByUrl(pattern: string | RegExp): RequestLog[];
|
|
74
|
+
/**
|
|
75
|
+
* Get logs with errors
|
|
76
|
+
*/
|
|
77
|
+
getErrors(): RequestLog[];
|
|
78
|
+
/**
|
|
79
|
+
* Get statistics
|
|
80
|
+
*/
|
|
81
|
+
getStats(): {
|
|
82
|
+
totalRequests: number;
|
|
83
|
+
totalErrors: number;
|
|
84
|
+
totalCached: number;
|
|
85
|
+
averageDuration: number;
|
|
86
|
+
slowestRequest: number;
|
|
87
|
+
fastestRequest: number;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Clear all logs
|
|
91
|
+
*/
|
|
92
|
+
clear(): void;
|
|
93
|
+
/**
|
|
94
|
+
* Export logs as JSON
|
|
95
|
+
*/
|
|
96
|
+
exportJSON(): string;
|
|
97
|
+
/**
|
|
98
|
+
* Export logs as CSV
|
|
99
|
+
*/
|
|
100
|
+
exportCSV(): string;
|
|
101
|
+
/**
|
|
102
|
+
* Get a formatted debug summary
|
|
103
|
+
*/
|
|
104
|
+
getSummary(): string;
|
|
105
|
+
/**
|
|
106
|
+
* Generate unique request ID
|
|
107
|
+
*/
|
|
108
|
+
private generateId;
|
|
109
|
+
/**
|
|
110
|
+
* Estimate data size in KB
|
|
111
|
+
*/
|
|
112
|
+
private estimateSize;
|
|
113
|
+
}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Request Monitor - Track all requests for debugging and monitoring
|
|
5
|
+
* Production-grade request tracking system with history, filtering, and export
|
|
6
|
+
*/
|
|
7
|
+
class RequestMonitor {
|
|
8
|
+
constructor(maxEntries = 100, enabled = false) {
|
|
9
|
+
this.enabled = false;
|
|
10
|
+
this.maxEntries = 100;
|
|
11
|
+
this.logs = new Map();
|
|
12
|
+
this.requestMetadata = new Map();
|
|
13
|
+
this.maxEntries = maxEntries;
|
|
14
|
+
this.enabled = enabled;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Enable monitoring
|
|
18
|
+
*/
|
|
19
|
+
enable() {
|
|
20
|
+
this.enabled = true;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Disable monitoring
|
|
24
|
+
*/
|
|
25
|
+
disable() {
|
|
26
|
+
this.enabled = false;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Check if monitoring is enabled
|
|
30
|
+
*/
|
|
31
|
+
isEnabled() {
|
|
32
|
+
return this.enabled;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Mark the start of a request
|
|
36
|
+
*/
|
|
37
|
+
startRequest(config) {
|
|
38
|
+
if (!this.enabled)
|
|
39
|
+
return "";
|
|
40
|
+
const requestId = this.generateId();
|
|
41
|
+
this.requestMetadata.set(requestId, {
|
|
42
|
+
startTime: Date.now(),
|
|
43
|
+
retries: config.retry || 0,
|
|
44
|
+
cached: config.cache || false
|
|
45
|
+
});
|
|
46
|
+
return requestId;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Mark the end of a successful request
|
|
50
|
+
*/
|
|
51
|
+
endRequest(requestId, config, response) {
|
|
52
|
+
if (!this.enabled || !requestId)
|
|
53
|
+
return;
|
|
54
|
+
const metadata = this.requestMetadata.get(requestId);
|
|
55
|
+
if (!metadata)
|
|
56
|
+
return;
|
|
57
|
+
const duration = Date.now() - metadata.startTime;
|
|
58
|
+
const log = {
|
|
59
|
+
id: requestId,
|
|
60
|
+
timestamp: Date.now(),
|
|
61
|
+
method: config.method || "GET",
|
|
62
|
+
url: config.url || "",
|
|
63
|
+
status: response.status,
|
|
64
|
+
statusText: response.statusText,
|
|
65
|
+
duration,
|
|
66
|
+
retries: metadata.retries,
|
|
67
|
+
cached: metadata.cached,
|
|
68
|
+
requestHeaders: config.headers,
|
|
69
|
+
responseHeaders: response.headers,
|
|
70
|
+
dataSize: this.estimateSize(response.data)
|
|
71
|
+
};
|
|
72
|
+
this.addLog(log);
|
|
73
|
+
this.requestMetadata.delete(requestId);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Mark the end of a failed request
|
|
77
|
+
*/
|
|
78
|
+
endRequestWithError(requestId, config, error) {
|
|
79
|
+
if (!this.enabled || !requestId)
|
|
80
|
+
return;
|
|
81
|
+
const metadata = this.requestMetadata.get(requestId);
|
|
82
|
+
if (!metadata)
|
|
83
|
+
return;
|
|
84
|
+
const duration = Date.now() - metadata.startTime;
|
|
85
|
+
const log = {
|
|
86
|
+
id: requestId,
|
|
87
|
+
timestamp: Date.now(),
|
|
88
|
+
method: config.method || "GET",
|
|
89
|
+
url: config.url || "",
|
|
90
|
+
duration,
|
|
91
|
+
retries: metadata.retries,
|
|
92
|
+
cached: metadata.cached,
|
|
93
|
+
error: {
|
|
94
|
+
message: (error === null || error === void 0 ? void 0 : error.message) || "Unknown error",
|
|
95
|
+
code: error === null || error === void 0 ? void 0 : error.code
|
|
96
|
+
},
|
|
97
|
+
requestHeaders: config.headers
|
|
98
|
+
};
|
|
99
|
+
this.addLog(log);
|
|
100
|
+
this.requestMetadata.delete(requestId);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Add a log entry and maintain maxEntries limit
|
|
104
|
+
*/
|
|
105
|
+
addLog(log) {
|
|
106
|
+
this.logs.set(log.id, log);
|
|
107
|
+
// Remove oldest entries if we exceed maxEntries
|
|
108
|
+
if (this.logs.size > this.maxEntries) {
|
|
109
|
+
const entriesToRemove = this.logs.size - this.maxEntries;
|
|
110
|
+
let removed = 0;
|
|
111
|
+
for (const [id, _] of this.logs) {
|
|
112
|
+
if (removed >= entriesToRemove)
|
|
113
|
+
break;
|
|
114
|
+
this.logs.delete(id);
|
|
115
|
+
removed++;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Get all logged requests
|
|
121
|
+
*/
|
|
122
|
+
getHistory() {
|
|
123
|
+
return Array.from(this.logs.values());
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get logs filtered by method
|
|
127
|
+
*/
|
|
128
|
+
getByMethod(method) {
|
|
129
|
+
return this.getHistory().filter(log => log.method.toUpperCase() === method.toUpperCase());
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Get logs filtered by URL pattern
|
|
133
|
+
*/
|
|
134
|
+
getByUrl(pattern) {
|
|
135
|
+
const regex = typeof pattern === "string" ? new RegExp(pattern) : pattern;
|
|
136
|
+
return this.getHistory().filter(log => regex.test(log.url));
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Get logs with errors
|
|
140
|
+
*/
|
|
141
|
+
getErrors() {
|
|
142
|
+
return this.getHistory().filter(log => log.error !== undefined);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Get statistics
|
|
146
|
+
*/
|
|
147
|
+
getStats() {
|
|
148
|
+
const history = this.getHistory();
|
|
149
|
+
if (history.length === 0) {
|
|
150
|
+
return {
|
|
151
|
+
totalRequests: 0,
|
|
152
|
+
totalErrors: 0,
|
|
153
|
+
totalCached: 0,
|
|
154
|
+
averageDuration: 0,
|
|
155
|
+
slowestRequest: 0,
|
|
156
|
+
fastestRequest: 0
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
const errors = history.filter(log => log.error).length;
|
|
160
|
+
const cached = history.filter(log => log.cached).length;
|
|
161
|
+
const durations = history.map(log => log.duration);
|
|
162
|
+
const avgDuration = durations.reduce((a, b) => a + b, 0) / durations.length;
|
|
163
|
+
return {
|
|
164
|
+
totalRequests: history.length,
|
|
165
|
+
totalErrors: errors,
|
|
166
|
+
totalCached: cached,
|
|
167
|
+
averageDuration: Math.round(avgDuration),
|
|
168
|
+
slowestRequest: Math.max(...durations),
|
|
169
|
+
fastestRequest: Math.min(...durations)
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Clear all logs
|
|
174
|
+
*/
|
|
175
|
+
clear() {
|
|
176
|
+
this.logs.clear();
|
|
177
|
+
this.requestMetadata.clear();
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Export logs as JSON
|
|
181
|
+
*/
|
|
182
|
+
exportJSON() {
|
|
183
|
+
return JSON.stringify(this.getHistory(), null, 2);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Export logs as CSV
|
|
187
|
+
*/
|
|
188
|
+
exportCSV() {
|
|
189
|
+
const history = this.getHistory();
|
|
190
|
+
if (history.length === 0) {
|
|
191
|
+
return "No logs to export";
|
|
192
|
+
}
|
|
193
|
+
const headers = [
|
|
194
|
+
"Timestamp",
|
|
195
|
+
"Method",
|
|
196
|
+
"URL",
|
|
197
|
+
"Status",
|
|
198
|
+
"Duration (ms)",
|
|
199
|
+
"Cached",
|
|
200
|
+
"Error"
|
|
201
|
+
];
|
|
202
|
+
const rows = history.map(log => [
|
|
203
|
+
new Date(log.timestamp).toISOString(),
|
|
204
|
+
log.method,
|
|
205
|
+
log.url,
|
|
206
|
+
log.status || "N/A",
|
|
207
|
+
log.duration,
|
|
208
|
+
log.cached ? "Yes" : "No",
|
|
209
|
+
log.error ? log.error.message : "None"
|
|
210
|
+
]);
|
|
211
|
+
const csvContent = [headers, ...rows]
|
|
212
|
+
.map(row => row.map(cell => `"${cell}"`).join(","))
|
|
213
|
+
.join("\n");
|
|
214
|
+
return csvContent;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Get a formatted debug summary
|
|
218
|
+
*/
|
|
219
|
+
getSummary() {
|
|
220
|
+
const stats = this.getStats();
|
|
221
|
+
const errors = this.getErrors();
|
|
222
|
+
let summary = `
|
|
223
|
+
╔══════════════════════════════════════════════╗
|
|
224
|
+
║ 📊 AZIOS REQUEST MONITOR ║
|
|
225
|
+
╚══════════════════════════════════════════════╝
|
|
226
|
+
|
|
227
|
+
📈 Statistics:
|
|
228
|
+
• Total Requests: ${stats.totalRequests}
|
|
229
|
+
• Errors: ${stats.totalErrors}
|
|
230
|
+
• Cached: ${stats.totalCached}
|
|
231
|
+
• Avg Duration: ${stats.averageDuration}ms
|
|
232
|
+
• Slowest: ${stats.slowestRequest}ms
|
|
233
|
+
• Fastest: ${stats.fastestRequest}ms
|
|
234
|
+
`;
|
|
235
|
+
if (errors.length > 0) {
|
|
236
|
+
summary += `\n❌ Recent Errors:\n`;
|
|
237
|
+
errors.slice(-5).forEach(log => {
|
|
238
|
+
var _a;
|
|
239
|
+
summary += ` • ${log.method} ${log.url}: ${(_a = log.error) === null || _a === void 0 ? void 0 : _a.message}\n`;
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
return summary;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Generate unique request ID
|
|
246
|
+
*/
|
|
247
|
+
generateId() {
|
|
248
|
+
return `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Estimate data size in KB
|
|
252
|
+
*/
|
|
253
|
+
estimateSize(data) {
|
|
254
|
+
try {
|
|
255
|
+
const json = JSON.stringify(data);
|
|
256
|
+
return Math.round(json.length / 1024 * 100) / 100; // KB with 2 decimals
|
|
257
|
+
}
|
|
258
|
+
catch (_a) {
|
|
259
|
+
return 0;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
exports.default = RequestMonitor;
|
|
264
|
+
//# sourceMappingURL=RequestMonitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RequestMonitor.js","sourceRoot":"","sources":["../../src/monitoring/RequestMonitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.AdapterFactory = void 0;
|
|
7
7
|
const detectRuntime_1 = require("./detectRuntime");
|
|
8
8
|
const UniversalHttpAdapter_1 = __importDefault(require("./UniversalHttpAdapter"));
|
|
9
|
+
const adapters_1 = require("../adapters");
|
|
9
10
|
/**
|
|
10
11
|
* Adapter factory for selecting the appropriate HTTP adapter
|
|
11
12
|
* Uses universal Fetch API when available with fallbacks for specific runtimes
|
|
@@ -16,7 +17,20 @@ class AdapterFactory {
|
|
|
16
17
|
*/
|
|
17
18
|
static getAdapter() {
|
|
18
19
|
if (!this.adapters.has(detectRuntime_1.currentRuntime)) {
|
|
19
|
-
|
|
20
|
+
let adapter;
|
|
21
|
+
// Try UniversalHttpAdapter first (works in Node 18+, browsers, etc.)
|
|
22
|
+
const universalAdapter = new UniversalHttpAdapter_1.default();
|
|
23
|
+
if (universalAdapter.isSupported()) {
|
|
24
|
+
adapter = universalAdapter;
|
|
25
|
+
}
|
|
26
|
+
else if (detectRuntime_1.currentRuntime === detectRuntime_1.RuntimeType.Node) {
|
|
27
|
+
// Fallback to NodeHttpAdapter for Node.js < 18
|
|
28
|
+
adapter = new adapters_1.NodeHttpAdapter();
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
throw new Error(`No supported HTTP adapter found for runtime: ${detectRuntime_1.currentRuntime}`);
|
|
32
|
+
}
|
|
33
|
+
this.adapters.set(detectRuntime_1.currentRuntime, adapter);
|
|
20
34
|
}
|
|
21
35
|
const adapter = this.adapters.get(detectRuntime_1.currentRuntime);
|
|
22
36
|
if (!adapter.isSupported()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdapterFactory.js","sourceRoot":"","sources":["../../src/runtimes/AdapterFactory.ts"],"names":[],"mappings":";;;;;;AACA,mDAA6D;AAC7D,kFAAyD;
|
|
1
|
+
{"version":3,"file":"AdapterFactory.js","sourceRoot":"","sources":["../../src/runtimes/AdapterFactory.ts"],"names":[],"mappings":";;;;;;AACA,mDAA6D;AAC7D,kFAAyD;AACzD,0CAA6C;AAE7C;;;GAGG;AACH,MAAa,cAAc;IAGzB;;OAEG;IACH,MAAM,CAAC,UAAU;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,8BAAc,CAAC,EAAE,CAAC;YACvC,IAAI,OAAoB,CAAA;YAExB,qEAAqE;YACrE,MAAM,gBAAgB,GAAG,IAAI,8BAAoB,EAAE,CAAA;YACnD,IAAI,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC;gBACnC,OAAO,GAAG,gBAAgB,CAAA;YAC5B,CAAC;iBAAM,IAAI,8BAAc,KAAK,2BAAW,CAAC,IAAI,EAAE,CAAC;gBAC/C,+CAA+C;gBAC/C,OAAO,GAAG,IAAI,0BAAe,EAAE,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,gDAAgD,8BAAc,EAAE,CACjE,CAAA;YACH,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,8BAAc,EAAE,OAAO,CAAC,CAAA;QAC5C,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,8BAAc,CAAE,CAAA;QAElD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,gDAAgD,8BAAc,EAAE,CACjE,CAAA;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAoB,EAAE,OAAoB;QAC/D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU;QACf,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACvB,CAAC;;AAjDH,wCAkDC;AAjDgB,uBAAQ,GAAkC,IAAI,GAAG,EAAE,CAAA;AAmDpE,kBAAe,cAAc,CAAA"}
|
package/dist/types/request.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AziosRequestConfig } from "./config";
|
|
2
2
|
import { AziosResponse } from "./response";
|
|
3
3
|
import InterceptorManager from "../interceptors/InterceptorManager";
|
|
4
|
+
import RequestMonitor from "../monitoring/RequestMonitor";
|
|
4
5
|
import type { AziosPlugin } from "./plugin";
|
|
5
6
|
import type { AziosMiddleware } from "./middleware";
|
|
6
7
|
export interface AziosInstance {
|
|
@@ -20,4 +21,5 @@ export interface AziosInstance {
|
|
|
20
21
|
installPlugin(plugin: AziosPlugin): Promise<void>;
|
|
21
22
|
uninstallPlugin(name: string): Promise<void>;
|
|
22
23
|
use(middleware: AziosMiddleware): void;
|
|
24
|
+
monitor: RequestMonitor;
|
|
23
25
|
}
|
package/package.json
CHANGED
|
@@ -1,49 +1,62 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "aziosxjs",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
7
|
-
"scripts": {
|
|
8
|
-
"build": "tsc",
|
|
9
|
-
"test": "ts-node tests/all.test.ts",
|
|
10
|
-
"test:sprint1": "ts-node
|
|
11
|
-
"test:sprint2": "ts-node
|
|
12
|
-
"test:sprint3": "ts-node
|
|
13
|
-
"test:sprint4": "ts-node
|
|
14
|
-
"test:sprint5
|
|
15
|
-
"test:
|
|
16
|
-
"test:sprint7": "ts-node
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "aziosxjs",
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "🚀 Advanced HTTP client featuring request monitoring, auth management, plugins, middleware, and universal runtime support",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "tsc",
|
|
9
|
+
"test": "ts-node tests/all.test.ts",
|
|
10
|
+
"test:sprint1": "ts-node tests/all.test.ts --sprint=1",
|
|
11
|
+
"test:sprint2": "ts-node tests/all.test.ts --sprint=2",
|
|
12
|
+
"test:sprint3": "ts-node tests/all.test.ts --sprint=3",
|
|
13
|
+
"test:sprint4": "ts-node tests/all.test.ts --sprint=4",
|
|
14
|
+
"test:sprint5": "ts-node tests/all.test.ts --sprint=5",
|
|
15
|
+
"test:sprint6": "ts-node tests/all.test.ts --sprint=6",
|
|
16
|
+
"test:sprint7": "ts-node tests/all.test.ts --sprint=7",
|
|
17
|
+
"test:sprint5:plugins": "ts-node examples/sprint5-plugins.ts",
|
|
18
|
+
"test:sprint5:middleware": "ts-node examples/sprint5-middleware.ts",
|
|
19
|
+
"test:sprint7:legacy": "ts-node examples/sprint7-universal.ts",
|
|
20
|
+
"test:sprint8:monitoring": "ts-node examples/sprint8-monitoring.ts",
|
|
21
|
+
"test:sprint8:auth": "ts-node examples/sprint8-auth.ts",
|
|
22
|
+
"prepublishOnly": "npm run build"
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"dist",
|
|
26
|
+
"src"
|
|
27
|
+
],
|
|
28
|
+
"keywords": [
|
|
29
|
+
"http",
|
|
30
|
+
"client",
|
|
31
|
+
"axios",
|
|
32
|
+
"request",
|
|
33
|
+
"nodejs",
|
|
34
|
+
"browser",
|
|
35
|
+
"universal",
|
|
36
|
+
"plugin",
|
|
37
|
+
"middleware",
|
|
38
|
+
"lightweight",
|
|
39
|
+
"typescript",
|
|
40
|
+
"monitoring",
|
|
41
|
+
"auth",
|
|
42
|
+
"authentication",
|
|
43
|
+
"debug",
|
|
44
|
+
"request-tracking",
|
|
45
|
+
"token-refresh"
|
|
46
|
+
],
|
|
47
|
+
"author": "Azeem Ali",
|
|
48
|
+
"license": "MIT",
|
|
49
|
+
"repository": {
|
|
50
|
+
"type": "git",
|
|
51
|
+
"url": "https://github.com/azeemali2001/azios"
|
|
52
|
+
},
|
|
53
|
+
"homepage": "https://github.com/azeemali2001/azios",
|
|
54
|
+
"bugs": {
|
|
55
|
+
"url": "https://github.com/azeemali2001/azios/issues"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"@types/node": "^25.6.0",
|
|
59
|
+
"ts-node": "^10.9.2",
|
|
60
|
+
"typescript": "^5.0.0"
|
|
61
|
+
}
|
|
62
|
+
}
|