@shohaghinfo/aerojs 0.1.2 → 0.3.0
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 +291 -7
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/oauth/github-driver.d.ts +16 -0
- package/dist/auth/oauth/github-driver.d.ts.map +1 -0
- package/dist/auth/oauth/github-driver.js +79 -0
- package/dist/auth/oauth/github-driver.js.map +1 -0
- package/dist/auth/oauth/google-driver.d.ts +16 -0
- package/dist/auth/oauth/google-driver.d.ts.map +1 -0
- package/dist/auth/oauth/google-driver.js +63 -0
- package/dist/auth/oauth/google-driver.js.map +1 -0
- package/dist/auth/oauth/index.d.ts +9 -0
- package/dist/auth/oauth/index.d.ts.map +1 -0
- package/dist/auth/oauth/index.js +9 -0
- package/dist/auth/oauth/index.js.map +1 -0
- package/dist/auth/oauth/oauth-driver.d.ts +35 -0
- package/dist/auth/oauth/oauth-driver.d.ts.map +1 -0
- package/dist/auth/oauth/oauth-driver.js +6 -0
- package/dist/auth/oauth/oauth-driver.js.map +1 -0
- package/dist/auth/oauth/oauth-manager.d.ts +26 -0
- package/dist/auth/oauth/oauth-manager.d.ts.map +1 -0
- package/dist/auth/oauth/oauth-manager.js +86 -0
- package/dist/auth/oauth/oauth-manager.js.map +1 -0
- package/dist/cli/commands/make.d.ts +5 -0
- package/dist/cli/commands/make.d.ts.map +1 -1
- package/dist/cli/commands/make.js +119 -0
- package/dist/cli/commands/make.js.map +1 -1
- package/dist/cli/runner.d.ts.map +1 -1
- package/dist/cli/runner.js +72 -3
- package/dist/cli/runner.js.map +1 -1
- package/dist/core/application.d.ts +5 -0
- package/dist/core/application.d.ts.map +1 -1
- package/dist/core/application.js +12 -0
- package/dist/core/application.js.map +1 -1
- package/dist/core/context.d.ts +4 -0
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +8 -0
- package/dist/core/context.js.map +1 -1
- package/dist/http/http.d.ts +44 -0
- package/dist/http/http.d.ts.map +1 -0
- package/dist/http/http.js +132 -0
- package/dist/http/http.js.map +1 -0
- package/dist/http/index.d.ts +8 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +8 -0
- package/dist/http/index.js.map +1 -0
- package/dist/http/request-builder.d.ts +48 -0
- package/dist/http/request-builder.d.ts.map +1 -0
- package/dist/http/request-builder.js +186 -0
- package/dist/http/request-builder.js.map +1 -0
- package/dist/http/response.d.ts +34 -0
- package/dist/http/response.d.ts.map +1 -0
- package/dist/http/response.js +77 -0
- package/dist/http/response.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/mail/drivers/smtp-mail-driver.d.ts +39 -0
- package/dist/mail/drivers/smtp-mail-driver.d.ts.map +1 -0
- package/dist/mail/drivers/smtp-mail-driver.js +318 -0
- package/dist/mail/drivers/smtp-mail-driver.js.map +1 -0
- package/dist/mail/index.d.ts +1 -0
- package/dist/mail/index.d.ts.map +1 -1
- package/dist/mail/index.js +1 -0
- package/dist/mail/index.js.map +1 -1
- package/dist/mail/mailer.d.ts +20 -3
- package/dist/mail/mailer.d.ts.map +1 -1
- package/dist/mail/mailer.js +28 -1
- package/dist/mail/mailer.js.map +1 -1
- package/dist/notifications/index.d.ts +7 -0
- package/dist/notifications/index.d.ts.map +1 -0
- package/dist/notifications/index.js +7 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/notifications/notification-manager.d.ts +39 -0
- package/dist/notifications/notification-manager.d.ts.map +1 -0
- package/dist/notifications/notification-manager.js +130 -0
- package/dist/notifications/notification-manager.js.map +1 -0
- package/dist/notifications/notification.d.ts +48 -0
- package/dist/notifications/notification.d.ts.map +1 -0
- package/dist/notifications/notification.js +9 -0
- package/dist/notifications/notification.js.map +1 -0
- package/dist/queue/drivers/redis-queue-driver.d.ts +20 -0
- package/dist/queue/drivers/redis-queue-driver.d.ts.map +1 -1
- package/dist/queue/drivers/redis-queue-driver.js +92 -33
- package/dist/queue/drivers/redis-queue-driver.js.map +1 -1
- package/dist/queue/queue-manager.d.ts +4 -1
- package/dist/queue/queue-manager.d.ts.map +1 -1
- package/dist/queue/queue-manager.js +8 -1
- package/dist/queue/queue-manager.js.map +1 -1
- package/dist/security/index.d.ts +2 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +2 -1
- package/dist/security/index.js.map +1 -1
- package/dist/security/rate-limiter.d.ts +20 -0
- package/dist/security/rate-limiter.d.ts.map +1 -1
- package/dist/security/rate-limiter.js +85 -0
- package/dist/security/rate-limiter.js.map +1 -1
- package/dist/security/signed-url.d.ts +29 -0
- package/dist/security/signed-url.d.ts.map +1 -0
- package/dist/security/signed-url.js +86 -0
- package/dist/security/signed-url.js.map +1 -0
- package/dist/storage/drivers/local-driver.d.ts +1 -0
- package/dist/storage/drivers/local-driver.d.ts.map +1 -1
- package/dist/storage/drivers/local-driver.js +5 -0
- package/dist/storage/drivers/local-driver.js.map +1 -1
- package/dist/storage/drivers/memory-driver.d.ts +1 -0
- package/dist/storage/drivers/memory-driver.d.ts.map +1 -1
- package/dist/storage/drivers/memory-driver.js +5 -0
- package/dist/storage/drivers/memory-driver.js.map +1 -1
- package/package.json +14 -2
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file http.ts
|
|
3
|
+
* @description Central Http client facade and fluent API for AeroJS.
|
|
4
|
+
*/
|
|
5
|
+
import { HttpRequestBuilder, type HttpFakeHandler, type RequestSentRecord } from './request-builder.js';
|
|
6
|
+
import { HttpResponse } from './response.js';
|
|
7
|
+
export declare class Http {
|
|
8
|
+
/**
|
|
9
|
+
* Creates a new fluent HTTP request builder.
|
|
10
|
+
*/
|
|
11
|
+
static create(): HttpRequestBuilder;
|
|
12
|
+
static baseUrl(url: string): HttpRequestBuilder;
|
|
13
|
+
static withToken(token: string, type?: string): HttpRequestBuilder;
|
|
14
|
+
static withBasicAuth(username: string, password?: string): HttpRequestBuilder;
|
|
15
|
+
static withHeaders(headers: Record<string, string>): HttpRequestBuilder;
|
|
16
|
+
static withQuery(query: Record<string, any>): HttpRequestBuilder;
|
|
17
|
+
static timeout(ms: number): HttpRequestBuilder;
|
|
18
|
+
static retry(times?: number, delayMs?: number): HttpRequestBuilder;
|
|
19
|
+
static acceptJson(): HttpRequestBuilder;
|
|
20
|
+
static asJson(): HttpRequestBuilder;
|
|
21
|
+
static asForm(): HttpRequestBuilder;
|
|
22
|
+
static get(url: string, query?: Record<string, any>): Promise<HttpResponse>;
|
|
23
|
+
static post(url: string, data?: any): Promise<HttpResponse>;
|
|
24
|
+
static put(url: string, data?: any): Promise<HttpResponse>;
|
|
25
|
+
static patch(url: string, data?: any): Promise<HttpResponse>;
|
|
26
|
+
static delete(url: string, data?: any): Promise<HttpResponse>;
|
|
27
|
+
static head(url: string): Promise<HttpResponse>;
|
|
28
|
+
/**
|
|
29
|
+
* Helper to construct a synthetic mock HttpResponse.
|
|
30
|
+
*/
|
|
31
|
+
static response(body?: any, status?: number, headers?: Record<string, string>): HttpResponse;
|
|
32
|
+
/**
|
|
33
|
+
* Intercepts outgoing requests for testing assertions.
|
|
34
|
+
*/
|
|
35
|
+
static fake(patternOrHandler?: string | RegExp | HttpFakeHandler | Record<string, any>, handler?: HttpFakeHandler): void;
|
|
36
|
+
/**
|
|
37
|
+
* Resets all fakes and recorded requests.
|
|
38
|
+
*/
|
|
39
|
+
static reset(): void;
|
|
40
|
+
static getSent(): RequestSentRecord[];
|
|
41
|
+
static assertSent(callback: (request: RequestSentRecord) => boolean): void;
|
|
42
|
+
static assertNotSent(callback: (request: RequestSentRecord) => boolean): void;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/http/http.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACxG,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,qBAAa,IAAI;IACf;;OAEG;WACW,MAAM,IAAI,kBAAkB;WAI5B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;WAIxC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,SAAW,GAAG,kBAAkB;WAI7D,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,kBAAkB;WAIlE,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,kBAAkB;WAIhE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,kBAAkB;WAIzD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB;WAIvC,KAAK,CAAC,KAAK,SAAI,EAAE,OAAO,SAAM,GAAG,kBAAkB;WAInD,UAAU,IAAI,kBAAkB;WAIhC,MAAM,IAAI,kBAAkB;WAI5B,MAAM,IAAI,kBAAkB;WAM5B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;WAIpE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;WAIpD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;WAInD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;WAIrD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;WAItD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAMtD;;OAEG;WACW,QAAQ,CAAC,IAAI,GAAE,GAAQ,EAAE,MAAM,SAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,YAAY;IASxG;;OAEG;WACW,IAAI,CAChB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1E,OAAO,CAAC,EAAE,eAAe,GACxB,IAAI;IA8BP;;OAEG;WACW,KAAK,IAAI,IAAI;WAIb,OAAO,IAAI,iBAAiB,EAAE;WAI9B,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,GAAG,IAAI;WAQnE,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,GAAG,IAAI;CAOrF"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file http.ts
|
|
3
|
+
* @description Central Http client facade and fluent API for AeroJS.
|
|
4
|
+
*/
|
|
5
|
+
import { HttpRequestBuilder } from './request-builder.js';
|
|
6
|
+
import { HttpResponse } from './response.js';
|
|
7
|
+
export class Http {
|
|
8
|
+
/**
|
|
9
|
+
* Creates a new fluent HTTP request builder.
|
|
10
|
+
*/
|
|
11
|
+
static create() {
|
|
12
|
+
return new HttpRequestBuilder();
|
|
13
|
+
}
|
|
14
|
+
static baseUrl(url) {
|
|
15
|
+
return new HttpRequestBuilder().baseUrl(url);
|
|
16
|
+
}
|
|
17
|
+
static withToken(token, type = 'Bearer') {
|
|
18
|
+
return new HttpRequestBuilder().withToken(token, type);
|
|
19
|
+
}
|
|
20
|
+
static withBasicAuth(username, password = '') {
|
|
21
|
+
return new HttpRequestBuilder().withBasicAuth(username, password);
|
|
22
|
+
}
|
|
23
|
+
static withHeaders(headers) {
|
|
24
|
+
return new HttpRequestBuilder().withHeaders(headers);
|
|
25
|
+
}
|
|
26
|
+
static withQuery(query) {
|
|
27
|
+
return new HttpRequestBuilder().withQuery(query);
|
|
28
|
+
}
|
|
29
|
+
static timeout(ms) {
|
|
30
|
+
return new HttpRequestBuilder().timeout(ms);
|
|
31
|
+
}
|
|
32
|
+
static retry(times = 3, delayMs = 100) {
|
|
33
|
+
return new HttpRequestBuilder().retry(times, delayMs);
|
|
34
|
+
}
|
|
35
|
+
static acceptJson() {
|
|
36
|
+
return new HttpRequestBuilder().acceptJson();
|
|
37
|
+
}
|
|
38
|
+
static asJson() {
|
|
39
|
+
return new HttpRequestBuilder().asJson();
|
|
40
|
+
}
|
|
41
|
+
static asForm() {
|
|
42
|
+
return new HttpRequestBuilder().asForm();
|
|
43
|
+
}
|
|
44
|
+
// --- Convenience HTTP Verbs ---
|
|
45
|
+
static get(url, query) {
|
|
46
|
+
return new HttpRequestBuilder().get(url, query);
|
|
47
|
+
}
|
|
48
|
+
static post(url, data) {
|
|
49
|
+
return new HttpRequestBuilder().post(url, data);
|
|
50
|
+
}
|
|
51
|
+
static put(url, data) {
|
|
52
|
+
return new HttpRequestBuilder().put(url, data);
|
|
53
|
+
}
|
|
54
|
+
static patch(url, data) {
|
|
55
|
+
return new HttpRequestBuilder().patch(url, data);
|
|
56
|
+
}
|
|
57
|
+
static delete(url, data) {
|
|
58
|
+
return new HttpRequestBuilder().delete(url, data);
|
|
59
|
+
}
|
|
60
|
+
static head(url) {
|
|
61
|
+
return new HttpRequestBuilder().head(url);
|
|
62
|
+
}
|
|
63
|
+
// --- Testing Utilities ---
|
|
64
|
+
/**
|
|
65
|
+
* Helper to construct a synthetic mock HttpResponse.
|
|
66
|
+
*/
|
|
67
|
+
static response(body = {}, status = 200, headers = {}) {
|
|
68
|
+
const rawBody = typeof body === 'string' ? body : JSON.stringify(body);
|
|
69
|
+
const headerObj = new Headers(headers);
|
|
70
|
+
if (!headerObj.has('content-type') && typeof body === 'object') {
|
|
71
|
+
headerObj.set('content-type', 'application/json');
|
|
72
|
+
}
|
|
73
|
+
return new HttpResponse(status, status === 200 ? 'OK' : 'Mock Response', headerObj, rawBody);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Intercepts outgoing requests for testing assertions.
|
|
77
|
+
*/
|
|
78
|
+
static fake(patternOrHandler, handler) {
|
|
79
|
+
if (typeof patternOrHandler === 'object' && !(patternOrHandler instanceof RegExp)) {
|
|
80
|
+
// Map of URL -> response or mock data
|
|
81
|
+
const routes = patternOrHandler;
|
|
82
|
+
HttpRequestBuilder.setFake((url) => {
|
|
83
|
+
for (const [routePattern, mockResponse] of Object.entries(routes)) {
|
|
84
|
+
if (url.includes(routePattern) || routePattern === '*') {
|
|
85
|
+
if (mockResponse instanceof HttpResponse) {
|
|
86
|
+
return mockResponse;
|
|
87
|
+
}
|
|
88
|
+
return Http.response(mockResponse);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return Http.response({}, 404);
|
|
92
|
+
});
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (typeof patternOrHandler === 'function') {
|
|
96
|
+
HttpRequestBuilder.setFake(patternOrHandler);
|
|
97
|
+
}
|
|
98
|
+
else if (typeof patternOrHandler === 'string' || patternOrHandler instanceof RegExp) {
|
|
99
|
+
if (handler) {
|
|
100
|
+
HttpRequestBuilder.setFake(patternOrHandler, handler);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
// Default stub response if called with Http.fake()
|
|
105
|
+
HttpRequestBuilder.setFake(() => Http.response({ mocked: true }, 200));
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Resets all fakes and recorded requests.
|
|
110
|
+
*/
|
|
111
|
+
static reset() {
|
|
112
|
+
HttpRequestBuilder.clearFakes();
|
|
113
|
+
}
|
|
114
|
+
static getSent() {
|
|
115
|
+
return HttpRequestBuilder.getSent();
|
|
116
|
+
}
|
|
117
|
+
static assertSent(callback) {
|
|
118
|
+
const sent = HttpRequestBuilder.getSent();
|
|
119
|
+
const match = sent.some(callback);
|
|
120
|
+
if (!match) {
|
|
121
|
+
throw new Error(`Expected HTTP request matching condition was not sent. Total requests sent: ${sent.length}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
static assertNotSent(callback) {
|
|
125
|
+
const sent = HttpRequestBuilder.getSent();
|
|
126
|
+
const match = sent.some(callback);
|
|
127
|
+
if (match) {
|
|
128
|
+
throw new Error('Unexpected HTTP request matching condition was sent.');
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/http/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file request-builder.ts
|
|
3
|
+
* @description Fluent Request Builder for AeroJS HTTP client.
|
|
4
|
+
*/
|
|
5
|
+
import { HttpResponse } from './response.js';
|
|
6
|
+
export type HttpFakeHandler = (url: string, init?: RequestInit) => HttpResponse | Promise<HttpResponse>;
|
|
7
|
+
export interface RequestSentRecord {
|
|
8
|
+
url: string;
|
|
9
|
+
method: string;
|
|
10
|
+
headers: Record<string, string>;
|
|
11
|
+
body?: any;
|
|
12
|
+
}
|
|
13
|
+
export declare class HttpRequestBuilder {
|
|
14
|
+
private _baseUrl;
|
|
15
|
+
private _headers;
|
|
16
|
+
private _query;
|
|
17
|
+
private _timeoutMs;
|
|
18
|
+
private _retryCount;
|
|
19
|
+
private _retryDelayMs;
|
|
20
|
+
private _contentType;
|
|
21
|
+
private static fakeHandlers;
|
|
22
|
+
private static defaultFakeHandler?;
|
|
23
|
+
private static sentRequests;
|
|
24
|
+
static setFake(pattern: string | RegExp | HttpFakeHandler, handler?: HttpFakeHandler): void;
|
|
25
|
+
static clearFakes(): void;
|
|
26
|
+
static recordSent(record: RequestSentRecord): void;
|
|
27
|
+
static getSent(): RequestSentRecord[];
|
|
28
|
+
baseUrl(url: string): this;
|
|
29
|
+
withHeaders(headers: Record<string, string>): this;
|
|
30
|
+
withToken(token: string, type?: string): this;
|
|
31
|
+
withBasicAuth(username: string, password?: string): this;
|
|
32
|
+
accept(mimeType: string): this;
|
|
33
|
+
acceptJson(): this;
|
|
34
|
+
asJson(): this;
|
|
35
|
+
asForm(): this;
|
|
36
|
+
withQuery(query: Record<string, any>): this;
|
|
37
|
+
timeout(ms: number): this;
|
|
38
|
+
retry(times?: number, delayMs?: number): this;
|
|
39
|
+
get(url: string, query?: Record<string, any>): Promise<HttpResponse>;
|
|
40
|
+
post(url: string, data?: any): Promise<HttpResponse>;
|
|
41
|
+
put(url: string, data?: any): Promise<HttpResponse>;
|
|
42
|
+
patch(url: string, data?: any): Promise<HttpResponse>;
|
|
43
|
+
delete(url: string, data?: any): Promise<HttpResponse>;
|
|
44
|
+
head(url: string): Promise<HttpResponse>;
|
|
45
|
+
send(method: string, path: string, data?: any): Promise<HttpResponse>;
|
|
46
|
+
private findFake;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=request-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-builder.d.ts","sourceRoot":"","sources":["../../src/http/request-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAExG,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,QAAQ,CAEd;IACF,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,aAAa,CAAO;IAC5B,OAAO,CAAC,YAAY,CAAsB;IAG1C,OAAO,CAAC,MAAM,CAAC,YAAY,CAAoD;IAC/E,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAkB;IACpD,OAAO,CAAC,MAAM,CAAC,YAAY,CAA2B;WAExC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI;WAQpF,UAAU,IAAI,IAAI;WAMlB,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;WAI3C,OAAO,IAAI,iBAAiB,EAAE;IAIrC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK1B,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAKlD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,SAAW,GAAG,IAAI;IAK/C,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,IAAI;IAMpD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK9B,UAAU,IAAI,IAAI;IAIlB,MAAM,IAAI,IAAI;IAKd,MAAM,IAAI,IAAI;IAKd,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAK3C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKzB,KAAK,CAAC,KAAK,SAAI,EAAE,OAAO,SAAM,GAAG,IAAI;IAQrC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAKpE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAIpD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAInD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAIrD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAItD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAMlC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IA4ElF,OAAO,CAAC,QAAQ;CAWjB"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file request-builder.ts
|
|
3
|
+
* @description Fluent Request Builder for AeroJS HTTP client.
|
|
4
|
+
*/
|
|
5
|
+
import { HttpResponse } from './response.js';
|
|
6
|
+
export class HttpRequestBuilder {
|
|
7
|
+
_baseUrl = '';
|
|
8
|
+
_headers = {
|
|
9
|
+
Accept: 'application/json, text/plain, */*',
|
|
10
|
+
};
|
|
11
|
+
_query = {};
|
|
12
|
+
_timeoutMs = 30000;
|
|
13
|
+
_retryCount = 0;
|
|
14
|
+
_retryDelayMs = 100;
|
|
15
|
+
_contentType = 'application/json';
|
|
16
|
+
// Global fakes / sent tracking references injected by Http facade
|
|
17
|
+
static fakeHandlers = new Map();
|
|
18
|
+
static defaultFakeHandler;
|
|
19
|
+
static sentRequests = [];
|
|
20
|
+
static setFake(pattern, handler) {
|
|
21
|
+
if (typeof pattern === 'function') {
|
|
22
|
+
this.defaultFakeHandler = pattern;
|
|
23
|
+
}
|
|
24
|
+
else if (handler) {
|
|
25
|
+
this.fakeHandlers.set(pattern, handler);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
static clearFakes() {
|
|
29
|
+
this.fakeHandlers.clear();
|
|
30
|
+
this.defaultFakeHandler = undefined;
|
|
31
|
+
this.sentRequests = [];
|
|
32
|
+
}
|
|
33
|
+
static recordSent(record) {
|
|
34
|
+
this.sentRequests.push(record);
|
|
35
|
+
}
|
|
36
|
+
static getSent() {
|
|
37
|
+
return this.sentRequests;
|
|
38
|
+
}
|
|
39
|
+
baseUrl(url) {
|
|
40
|
+
this._baseUrl = url.replace(/\/+$/, '');
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
withHeaders(headers) {
|
|
44
|
+
Object.assign(this._headers, headers);
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
withToken(token, type = 'Bearer') {
|
|
48
|
+
this._headers['Authorization'] = `${type} ${token}`.trim();
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
withBasicAuth(username, password = '') {
|
|
52
|
+
const credentials = Buffer.from(`${username}:${password}`).toString('base64');
|
|
53
|
+
this._headers['Authorization'] = `Basic ${credentials}`;
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
accept(mimeType) {
|
|
57
|
+
this._headers['Accept'] = mimeType;
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
acceptJson() {
|
|
61
|
+
return this.accept('application/json');
|
|
62
|
+
}
|
|
63
|
+
asJson() {
|
|
64
|
+
this._contentType = 'application/json';
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
asForm() {
|
|
68
|
+
this._contentType = 'application/x-www-form-urlencoded';
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
withQuery(query) {
|
|
72
|
+
Object.assign(this._query, query);
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
timeout(ms) {
|
|
76
|
+
this._timeoutMs = ms;
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
retry(times = 3, delayMs = 100) {
|
|
80
|
+
this._retryCount = times;
|
|
81
|
+
this._retryDelayMs = delayMs;
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
// --- HTTP Verbs ---
|
|
85
|
+
get(url, query) {
|
|
86
|
+
if (query)
|
|
87
|
+
this.withQuery(query);
|
|
88
|
+
return this.send('GET', url);
|
|
89
|
+
}
|
|
90
|
+
post(url, data) {
|
|
91
|
+
return this.send('POST', url, data);
|
|
92
|
+
}
|
|
93
|
+
put(url, data) {
|
|
94
|
+
return this.send('PUT', url, data);
|
|
95
|
+
}
|
|
96
|
+
patch(url, data) {
|
|
97
|
+
return this.send('PATCH', url, data);
|
|
98
|
+
}
|
|
99
|
+
delete(url, data) {
|
|
100
|
+
return this.send('DELETE', url, data);
|
|
101
|
+
}
|
|
102
|
+
head(url) {
|
|
103
|
+
return this.send('HEAD', url);
|
|
104
|
+
}
|
|
105
|
+
// --- Request Dispatcher ---
|
|
106
|
+
async send(method, path, data) {
|
|
107
|
+
let fullUrl = path.startsWith('http://') || path.startsWith('https://')
|
|
108
|
+
? path
|
|
109
|
+
: `${this._baseUrl}${path.startsWith('/') ? path : `/${path}`}`;
|
|
110
|
+
// Append query parameters
|
|
111
|
+
const queryString = new URLSearchParams();
|
|
112
|
+
for (const [key, value] of Object.entries(this._query)) {
|
|
113
|
+
if (value !== undefined && value !== null) {
|
|
114
|
+
queryString.append(key, String(value));
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
const queryPart = queryString.toString();
|
|
118
|
+
if (queryPart) {
|
|
119
|
+
fullUrl += (fullUrl.includes('?') ? '&' : '?') + queryPart;
|
|
120
|
+
}
|
|
121
|
+
const headers = { ...this._headers };
|
|
122
|
+
let body = undefined;
|
|
123
|
+
if (data !== undefined && data !== null && method !== 'GET' && method !== 'HEAD') {
|
|
124
|
+
if (this._contentType === 'application/json') {
|
|
125
|
+
headers['Content-Type'] = 'application/json';
|
|
126
|
+
body = typeof data === 'string' ? data : JSON.stringify(data);
|
|
127
|
+
}
|
|
128
|
+
else if (this._contentType === 'application/x-www-form-urlencoded') {
|
|
129
|
+
headers['Content-Type'] = 'application/x-www-form-urlencoded';
|
|
130
|
+
body = new URLSearchParams(data).toString();
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
body = data;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
HttpRequestBuilder.recordSent({
|
|
137
|
+
url: fullUrl,
|
|
138
|
+
method: method.toUpperCase(),
|
|
139
|
+
headers,
|
|
140
|
+
body: data,
|
|
141
|
+
});
|
|
142
|
+
// Check for fakes
|
|
143
|
+
const fake = this.findFake(fullUrl);
|
|
144
|
+
if (fake) {
|
|
145
|
+
return await fake(fullUrl, { method, headers, body });
|
|
146
|
+
}
|
|
147
|
+
// Perform actual fetch with retry logic and timeout
|
|
148
|
+
let lastError;
|
|
149
|
+
const maxAttempts = 1 + this._retryCount;
|
|
150
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
151
|
+
const controller = new AbortController();
|
|
152
|
+
const timer = setTimeout(() => controller.abort(), this._timeoutMs);
|
|
153
|
+
try {
|
|
154
|
+
const res = await fetch(fullUrl, {
|
|
155
|
+
method,
|
|
156
|
+
headers,
|
|
157
|
+
body,
|
|
158
|
+
signal: controller.signal,
|
|
159
|
+
});
|
|
160
|
+
clearTimeout(timer);
|
|
161
|
+
const text = await res.text();
|
|
162
|
+
return new HttpResponse(res.status, res.statusText, res.headers, text);
|
|
163
|
+
}
|
|
164
|
+
catch (err) {
|
|
165
|
+
clearTimeout(timer);
|
|
166
|
+
lastError = err;
|
|
167
|
+
if (attempt < maxAttempts) {
|
|
168
|
+
await new Promise((r) => setTimeout(r, this._retryDelayMs * attempt));
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
throw lastError;
|
|
173
|
+
}
|
|
174
|
+
findFake(url) {
|
|
175
|
+
for (const [pattern, handler] of HttpRequestBuilder.fakeHandlers.entries()) {
|
|
176
|
+
if (typeof pattern === 'string' && url.includes(pattern)) {
|
|
177
|
+
return handler;
|
|
178
|
+
}
|
|
179
|
+
if (pattern instanceof RegExp && pattern.test(url)) {
|
|
180
|
+
return handler;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return HttpRequestBuilder.defaultFakeHandler;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=request-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-builder.js","sourceRoot":"","sources":["../../src/http/request-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file response.ts
|
|
3
|
+
* @description Fluent HTTP Response wrapper for AeroJS HTTP client.
|
|
4
|
+
*/
|
|
5
|
+
export declare class HttpClientError extends Error {
|
|
6
|
+
response: HttpResponse;
|
|
7
|
+
status: number;
|
|
8
|
+
constructor(response: HttpResponse, message?: string);
|
|
9
|
+
}
|
|
10
|
+
export declare class HttpResponse {
|
|
11
|
+
readonly status: number;
|
|
12
|
+
readonly statusText: string;
|
|
13
|
+
readonly headers: Headers;
|
|
14
|
+
readonly rawBody: string;
|
|
15
|
+
private parsedJson;
|
|
16
|
+
constructor(status: number, statusText: string, headers: Headers, rawBody: string);
|
|
17
|
+
get ok(): boolean;
|
|
18
|
+
get successful(): boolean;
|
|
19
|
+
get failed(): boolean;
|
|
20
|
+
get clientError(): boolean;
|
|
21
|
+
get serverError(): boolean;
|
|
22
|
+
json<T = any>(): T;
|
|
23
|
+
text(): string;
|
|
24
|
+
header(name: string): string | null;
|
|
25
|
+
/**
|
|
26
|
+
* Throws an error if the response returned a 4xx or 5xx status code.
|
|
27
|
+
*/
|
|
28
|
+
throw(): this;
|
|
29
|
+
/**
|
|
30
|
+
* Throws an error unless the response matches the expected status code.
|
|
31
|
+
*/
|
|
32
|
+
throwUnlessStatus(expectedStatus: number): this;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/http/response.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAa,eAAgB,SAAQ,KAAK;IACjC,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;gBAEV,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM;CAMrD;AAED,qBAAa,YAAY;IACvB,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,UAAU,CAAkB;gBAExB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IAOjF,IAAW,EAAE,IAAI,OAAO,CAEvB;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED,IAAW,WAAW,IAAI,OAAO,CAEhC;IAEM,IAAI,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC;IAWlB,IAAI,IAAI,MAAM;IAId,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI1C;;OAEG;IACI,KAAK,IAAI,IAAI;IAOpB;;OAEG;IACI,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;CASvD"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file response.ts
|
|
3
|
+
* @description Fluent HTTP Response wrapper for AeroJS HTTP client.
|
|
4
|
+
*/
|
|
5
|
+
export class HttpClientError extends Error {
|
|
6
|
+
response;
|
|
7
|
+
status;
|
|
8
|
+
constructor(response, message) {
|
|
9
|
+
super(message || `HTTP request failed with status ${response.status} (${response.statusText})`);
|
|
10
|
+
this.name = 'HttpClientError';
|
|
11
|
+
this.response = response;
|
|
12
|
+
this.status = response.status;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export class HttpResponse {
|
|
16
|
+
status;
|
|
17
|
+
statusText;
|
|
18
|
+
headers;
|
|
19
|
+
rawBody;
|
|
20
|
+
parsedJson = undefined;
|
|
21
|
+
constructor(status, statusText, headers, rawBody) {
|
|
22
|
+
this.status = status;
|
|
23
|
+
this.statusText = statusText;
|
|
24
|
+
this.headers = headers;
|
|
25
|
+
this.rawBody = rawBody;
|
|
26
|
+
}
|
|
27
|
+
get ok() {
|
|
28
|
+
return this.status >= 200 && this.status < 300;
|
|
29
|
+
}
|
|
30
|
+
get successful() {
|
|
31
|
+
return this.ok;
|
|
32
|
+
}
|
|
33
|
+
get failed() {
|
|
34
|
+
return !this.ok;
|
|
35
|
+
}
|
|
36
|
+
get clientError() {
|
|
37
|
+
return this.status >= 400 && this.status < 500;
|
|
38
|
+
}
|
|
39
|
+
get serverError() {
|
|
40
|
+
return this.status >= 500 && this.status < 600;
|
|
41
|
+
}
|
|
42
|
+
json() {
|
|
43
|
+
if (this.parsedJson !== undefined) {
|
|
44
|
+
return this.parsedJson;
|
|
45
|
+
}
|
|
46
|
+
if (!this.rawBody) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
this.parsedJson = JSON.parse(this.rawBody);
|
|
50
|
+
return this.parsedJson;
|
|
51
|
+
}
|
|
52
|
+
text() {
|
|
53
|
+
return this.rawBody;
|
|
54
|
+
}
|
|
55
|
+
header(name) {
|
|
56
|
+
return this.headers.get(name);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Throws an error if the response returned a 4xx or 5xx status code.
|
|
60
|
+
*/
|
|
61
|
+
throw() {
|
|
62
|
+
if (this.failed) {
|
|
63
|
+
throw new HttpClientError(this);
|
|
64
|
+
}
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Throws an error unless the response matches the expected status code.
|
|
69
|
+
*/
|
|
70
|
+
throwUnlessStatus(expectedStatus) {
|
|
71
|
+
if (this.status !== expectedStatus) {
|
|
72
|
+
throw new HttpClientError(this, `Expected status ${expectedStatus} but received ${this.status} (${this.statusText})`);
|
|
73
|
+
}
|
|
74
|
+
return this;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/http/response.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACjC,QAAQ,CAAe;IACvB,MAAM,CAAS;IAEtB,YAAY,QAAsB,EAAE,OAAgB;QAClD,KAAK,CAAC,OAAO,IAAI,mCAAmC,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;QAChG,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,YAAY;IACP,MAAM,CAAS;IACf,UAAU,CAAS;IACnB,OAAO,CAAU;IACjB,OAAO,CAAS;IACxB,UAAU,GAAQ,SAAS,CAAC;IAEpC,YAAY,MAAc,EAAE,UAAkB,EAAE,OAAgB,EAAE,OAAe;QAC/E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IACjD,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,IAAW,MAAM;QACf,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAClB,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IACjD,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IACjD,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,IAAW,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,MAAM,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,iBAAiB,CAAC,cAAsB;QAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YACnC,MAAM,IAAI,eAAe,CACvB,IAAI,EACJ,mBAAmB,cAAc,iBAAiB,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,GAAG,CACrF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export { createPlugin, SKIP_OVERRIDE, type AeroPlugin, type PluginOptions, type
|
|
|
21
21
|
export { createTestClient, TestClient, type TestResponse, type TestRequestOptions, } from './testing/test-client.js';
|
|
22
22
|
export { serveStatic, getMimeType, type StaticOptions, } from './static/static.js';
|
|
23
23
|
export { cors, type CorsOptions, } from './middleware/cors.js';
|
|
24
|
-
export { jwt, sign, verify, decode, jwtAuth, parseTimespan, JsonWebTokenError, TokenExpiredError, NotBeforeError, rateLimit, MemoryRateLimitStore, TooManyRequestsError, securityHeaders, csrf, Hash, hash, hashVerify, type JwtAlgorithm, type JwtHeader, type JwtPayload, type JwtSignOptions, type JwtVerifyOptions, type JwtAuthOptions, type RateLimitOptions, type RateLimitStore, type RateLimitInfo, type SecurityHeadersOptions, type HstsOptions, type ContentSecurityPolicyDirectives, type CsrfOptions, type ScryptOptions, } from './security/index.js';
|
|
24
|
+
export { jwt, sign, verify, decode, jwtAuth, parseTimespan, JsonWebTokenError, TokenExpiredError, NotBeforeError, rateLimit, MemoryRateLimitStore, RedisRateLimitStore, TooManyRequestsError, securityHeaders, csrf, Hash, hash, hashVerify, type JwtAlgorithm, type JwtHeader, type JwtPayload, type JwtSignOptions, type JwtVerifyOptions, type JwtAuthOptions, type RateLimitOptions, type RateLimitStore, type RateLimitInfo, type SecurityHeadersOptions, type HstsOptions, type ContentSecurityPolicyDirectives, type CsrfOptions, type ScryptOptions, } from './security/index.js';
|
|
25
25
|
export { AeroWebSocket, handleWebSocketUpgrade, type WebSocketUpgradeHandler, } from './ws/websocket.js';
|
|
26
26
|
export { Database, DB, MemoryDatabaseAdapter, Model, Relation, computed, QueryBuilder, Schema, TableBlueprint, Migrator, getHookRegistry, registerHook, ModelHookRegistry, beforeCreate, afterCreate, beforeSave, afterSave, beforeUpdate, afterUpdate, beforeDelete, afterDelete, beforeFind, afterFind, beforeFetch, afterFetch, type DatabaseAdapter, type DatabaseRow, type WhereClause, type JoinClause, type PaginationResult, type RelationDefinition, type ManyToManyOptions, type HasManyThroughOptions, type ColumnDefinition, type Migration, type ModelHookEvent, type ModelHookHandler, Seeder, DatabaseSeeder, ModelFactory, type FactoryDefinition, } from './database/index.js';
|
|
27
27
|
export { Logger, requestLogger, RequestContext, type LogLevel, type RequestStore, } from './logging/index.js';
|
|
@@ -30,7 +30,7 @@ export { vite, type ViteOptions, } from './views/vite.js';
|
|
|
30
30
|
export { Inertia, inertiaPlugin, lazy, type InertiaPage, type InertiaConfig, type InertiaProp, } from './inertia/inertia.js';
|
|
31
31
|
export { SSREngine, type SSRRenderResult, type SSRRenderer, type SSREngineOptions, } from './ssr/index.js';
|
|
32
32
|
export { Storage, StorageManager, UploadedFile, LocalStorageDriver, MemoryStorageDriver, S3StorageDriver, type StorageDriver, type StorageConfig, type StorageDiskConfig, type FileValidationRules, } from './storage/index.js';
|
|
33
|
-
export { Queue, QueueManager, Job, QueueWorker, MemoryQueueDriver, DatabaseQueueDriver, type QueueDriver, type QueuedJobRecord, type PushOptions, type WorkerOptions, type FailedJobRecord, type QueueConfig, } from './queue/index.js';
|
|
33
|
+
export { Queue, QueueManager, Job, QueueWorker, MemoryQueueDriver, DatabaseQueueDriver, RedisQueueDriver, type QueueDriver, type QueuedJobRecord, type FailedJobDetails, type PushOptions, type WorkerOptions, type FailedJobRecord, type QueueConfig, } from './queue/index.js';
|
|
34
34
|
export { Mail, MailManager, MailMessage, MemoryMailDriver, LogMailDriver, type MailDriver, type SentMailResult, type MailAttachment, type MailerConfig, } from './mail/index.js';
|
|
35
35
|
export { SwaggerGenerator, renderSwaggerUI, swaggerPlugin, type OpenAPISpec, type SwaggerOptions, type SwaggerUIOptions, } from './swagger/index.js';
|
|
36
36
|
export { AeroCLI, } from './cli/index.js';
|
|
@@ -72,4 +72,6 @@ export * from './i18n/index.js';
|
|
|
72
72
|
export * from './config/env-schema.js';
|
|
73
73
|
export * from './tcp/index.js';
|
|
74
74
|
export * from './webhook/index.js';
|
|
75
|
+
export * from './http/index.js';
|
|
76
|
+
export * from './notifications/index.js';
|
|
75
77
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|