@asenajs/hono-adapter 4.0.0 → 5.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/README.md +5 -3
- package/dist/lib/HonoAdapter.d.ts +6 -22
- package/dist/lib/HonoAdapter.js +89 -90
- package/dist/lib/HonoAdapter.js.map +1 -1
- package/dist/lib/HonoContextWrapper.d.ts +18 -4
- package/dist/lib/HonoContextWrapper.js +202 -23
- package/dist/lib/HonoContextWrapper.js.map +1 -1
- package/dist/lib/defaults/Context.d.ts +5 -1
- package/dist/lib/defaults/Context.js +2 -1
- package/dist/lib/defaults/Context.js.map +1 -1
- package/dist/lib/defaults/MiddlewareService.d.ts +1 -1
- package/dist/lib/defaults/MiddlewareService.js +1 -0
- package/dist/lib/defaults/MiddlewareService.js.map +1 -1
- package/dist/lib/defaults/index.d.ts +1 -0
- package/dist/lib/defaults/index.js +1 -0
- package/dist/lib/defaults/index.js.map +1 -1
- package/dist/lib/defineContext.d.ts +8 -0
- package/dist/lib/defineContext.js +10 -0
- package/dist/lib/defineContext.js.map +1 -0
- package/dist/lib/middlewares/RateLimiterMiddleware.d.ts +73 -3
- package/dist/lib/middlewares/RateLimiterMiddleware.js +95 -7
- package/dist/lib/middlewares/RateLimiterMiddleware.js.map +1 -1
- package/dist/lib/middlewares/WebSocketOriginMiddleware.d.ts +81 -0
- package/dist/lib/middlewares/WebSocketOriginMiddleware.js +81 -0
- package/dist/lib/middlewares/WebSocketOriginMiddleware.js.map +1 -0
- package/dist/lib/utils/serveStatic.d.ts +3 -0
- package/dist/lib/utils/serveStatic.js +17 -0
- package/dist/lib/utils/serveStatic.js.map +1 -0
- package/package.json +4 -4
|
@@ -1,9 +1,105 @@
|
|
|
1
|
+
import { ValidatedInput, readContractBody, readContractForm, } from '@asenajs/asena/adapter';
|
|
1
2
|
import { deleteCookie, getCookie, getSignedCookie, setCookie, setSignedCookie } from 'hono/cookie'; // add delete cookie
|
|
2
3
|
import { stream as honoStream, streamSSE as honoStreamSSE, streamText as honoStreamText } from 'hono/streaming';
|
|
4
|
+
import { getQueryParam } from 'hono/utils/url';
|
|
5
|
+
import { bufferToFormData } from 'hono/utils/buffer';
|
|
6
|
+
const VALIDATED_INPUT_KEY = '_asenaValidatedInput';
|
|
7
|
+
const TEXT_PLAIN = 'text/plain; charset=UTF-8';
|
|
8
|
+
const APPLICATION_JSON = 'application/json';
|
|
9
|
+
const hasEncoding = (value) => value.includes('%') || value.includes('+');
|
|
10
|
+
const ENCODED_KEY = /(?:^|&)[^=&]*[%+]/;
|
|
11
|
+
const findQueryParam = (url, key) => {
|
|
12
|
+
if (!key || hasEncoding(key)) {
|
|
13
|
+
return getQueryParam(url, key);
|
|
14
|
+
}
|
|
15
|
+
const start = url.indexOf('?', 8);
|
|
16
|
+
if (start === -1) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
const length = key.length;
|
|
20
|
+
let index = url.indexOf(key, start + 1);
|
|
21
|
+
while (index !== -1) {
|
|
22
|
+
const next = url.charCodeAt(index + length);
|
|
23
|
+
if ((index === start + 1 || url.charCodeAt(index - 1) === 38) &&
|
|
24
|
+
(next === 61 || next === 38 || Number.isNaN(next))) {
|
|
25
|
+
// ENCODED_KEY mirrors Hono's _getQueryParam check: an earlier encoded key may decode to this one.
|
|
26
|
+
if (index > start + 1 && hasEncoding(url) && ENCODED_KEY.test(url.slice(start + 1, index - 1))) {
|
|
27
|
+
return getQueryParam(url, key);
|
|
28
|
+
}
|
|
29
|
+
if (next === 61) {
|
|
30
|
+
const valueStart = index + length + 1;
|
|
31
|
+
const end = url.indexOf('&', valueStart);
|
|
32
|
+
const value = end === -1 ? url.slice(valueStart) : url.slice(valueStart, end);
|
|
33
|
+
return hasEncoding(value) ? getQueryParam(url, key) : value;
|
|
34
|
+
}
|
|
35
|
+
return '';
|
|
36
|
+
}
|
|
37
|
+
index = url.indexOf(key, index + 1);
|
|
38
|
+
}
|
|
39
|
+
return hasEncoding(url) ? getQueryParam(url, key) : undefined;
|
|
40
|
+
};
|
|
3
41
|
export class HonoContextWrapper {
|
|
42
|
+
// Kept on the Hono context so every wrapper of one request - global middleware, route
|
|
43
|
+
// context subclass, error handler - sees the same validated input.
|
|
44
|
+
get validatedInput() {
|
|
45
|
+
return this._context.get(VALIDATED_INPUT_KEY);
|
|
46
|
+
}
|
|
47
|
+
ensureValidatedInput() {
|
|
48
|
+
let validated = this.validatedInput;
|
|
49
|
+
if (!validated) {
|
|
50
|
+
validated = new ValidatedInput();
|
|
51
|
+
this._context.set(VALIDATED_INPUT_KEY, validated);
|
|
52
|
+
}
|
|
53
|
+
return validated;
|
|
54
|
+
}
|
|
55
|
+
get input() {
|
|
56
|
+
return this.validatedInput?.input ?? new ValidatedInput().input;
|
|
57
|
+
}
|
|
58
|
+
/** @internal */
|
|
59
|
+
setValidated(target, value) {
|
|
60
|
+
this.ensureValidatedInput().set(target, value);
|
|
61
|
+
}
|
|
62
|
+
/** @internal */
|
|
63
|
+
completeValidatedInput() {
|
|
64
|
+
this.ensureValidatedInput().complete();
|
|
65
|
+
}
|
|
66
|
+
/** @internal */
|
|
67
|
+
readContractInput(target) {
|
|
68
|
+
switch (target) {
|
|
69
|
+
case 'body':
|
|
70
|
+
return readContractBody(() => this._context.req.arrayBuffer(), this._context.req.header('content-type') ?? '');
|
|
71
|
+
case 'form':
|
|
72
|
+
return readContractForm(() => this.readCachedFormData(), this._context.req.header('content-type') ?? '');
|
|
73
|
+
case 'query':
|
|
74
|
+
return this.getAllQueries();
|
|
75
|
+
case 'headers':
|
|
76
|
+
return (() => {
|
|
77
|
+
const headers = {};
|
|
78
|
+
this._context.req.raw.headers.forEach((value, key) => {
|
|
79
|
+
headers[key.toLowerCase()] = value;
|
|
80
|
+
});
|
|
81
|
+
return headers;
|
|
82
|
+
})();
|
|
83
|
+
case 'params':
|
|
84
|
+
return this._context.req.param();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Same approach as Hono's form validator: `req.formData()` over an already-read body rebuilds
|
|
88
|
+
// it without the content type and fails to parse.
|
|
89
|
+
async readCachedFormData() {
|
|
90
|
+
const req = this._context.req;
|
|
91
|
+
const cached = req.bodyCache.formData;
|
|
92
|
+
if (cached) {
|
|
93
|
+
return cached;
|
|
94
|
+
}
|
|
95
|
+
const formData = await bufferToFormData(await req.arrayBuffer(), req.header('content-type') ?? '');
|
|
96
|
+
req.bodyCache.formData = formData;
|
|
97
|
+
return formData;
|
|
98
|
+
}
|
|
4
99
|
_context;
|
|
5
100
|
_server;
|
|
6
101
|
_requestIp;
|
|
102
|
+
_url;
|
|
7
103
|
constructor(context, server) {
|
|
8
104
|
this._context = context;
|
|
9
105
|
this._server = server;
|
|
@@ -23,7 +119,30 @@ export class HonoContextWrapper {
|
|
|
23
119
|
}
|
|
24
120
|
}
|
|
25
121
|
get headers() {
|
|
26
|
-
|
|
122
|
+
const raw = this._context.req.raw.headers.toJSON();
|
|
123
|
+
const keys = Object.keys(raw);
|
|
124
|
+
const count = keys.length;
|
|
125
|
+
for (let i = 1; i < count; i++) {
|
|
126
|
+
const key = keys[i];
|
|
127
|
+
let j = i - 1;
|
|
128
|
+
while (j >= 0 && keys[j] > key) {
|
|
129
|
+
keys[j + 1] = keys[j];
|
|
130
|
+
j--;
|
|
131
|
+
}
|
|
132
|
+
keys[j + 1] = key;
|
|
133
|
+
}
|
|
134
|
+
const headers = Object.create(null);
|
|
135
|
+
for (let i = 0; i < count; i++) {
|
|
136
|
+
const key = keys[i];
|
|
137
|
+
if (key !== 'set-cookie') {
|
|
138
|
+
headers[key] = raw[key];
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
const setCookie = raw['set-cookie'];
|
|
142
|
+
if (setCookie !== undefined) {
|
|
143
|
+
headers['set-cookie'] = typeof setCookie === 'string' ? setCookie : setCookie[setCookie.length - 1];
|
|
144
|
+
}
|
|
145
|
+
return headers;
|
|
27
146
|
}
|
|
28
147
|
getArrayBuffer() {
|
|
29
148
|
return this._context.req.arrayBuffer();
|
|
@@ -36,13 +155,22 @@ export class HonoContextWrapper {
|
|
|
36
155
|
* keys into arrays and applies coercions into `req.valid('form')`, while `parseBody()` without
|
|
37
156
|
* options is last-value-wins - so the handler read a shape the schema had already replaced.
|
|
38
157
|
*/
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
158
|
+
getParseBody() {
|
|
159
|
+
try {
|
|
160
|
+
const req = this._context.req;
|
|
161
|
+
const input = this.validatedInput;
|
|
162
|
+
if (input?.has('form'))
|
|
163
|
+
return Promise.resolve(input.get('form'));
|
|
164
|
+
// Not `??`: a schema may legitimately parse to `null`, which would fall back to the raw body.
|
|
165
|
+
const validated = req.valid?.('form');
|
|
166
|
+
if (validated !== undefined) {
|
|
167
|
+
return Promise.resolve(validated);
|
|
168
|
+
}
|
|
169
|
+
return req.parseBody();
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
return Promise.reject(error);
|
|
44
173
|
}
|
|
45
|
-
return await this._context.req.parseBody();
|
|
46
174
|
}
|
|
47
175
|
getBlob() {
|
|
48
176
|
return this._context.req.blob();
|
|
@@ -65,19 +193,38 @@ export class HonoContextWrapper {
|
|
|
65
193
|
*
|
|
66
194
|
* Routes without a validator are unaffected - `valid('json')` is undefined and we fall through.
|
|
67
195
|
*/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
196
|
+
getBody() {
|
|
197
|
+
try {
|
|
198
|
+
const req = this._context.req;
|
|
199
|
+
const input = this.validatedInput;
|
|
200
|
+
if (input?.has('body'))
|
|
201
|
+
return Promise.resolve(input.get('body'));
|
|
202
|
+
// Not `??`: a schema may legitimately parse to `null`, which would fall back to the raw body.
|
|
203
|
+
const validated = req.valid?.('json');
|
|
204
|
+
if (validated !== undefined) {
|
|
205
|
+
return Promise.resolve(validated);
|
|
206
|
+
}
|
|
207
|
+
return req.json();
|
|
208
|
+
}
|
|
209
|
+
catch (error) {
|
|
210
|
+
return Promise.reject(error);
|
|
73
211
|
}
|
|
74
|
-
return await this._context.req.json();
|
|
75
212
|
}
|
|
76
|
-
|
|
77
|
-
|
|
213
|
+
getQuery(query) {
|
|
214
|
+
try {
|
|
215
|
+
return Promise.resolve(findQueryParam((this._url ??= this._context.req.url), query));
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
return Promise.reject(error);
|
|
219
|
+
}
|
|
78
220
|
}
|
|
79
|
-
|
|
80
|
-
|
|
221
|
+
getQueryAll(query) {
|
|
222
|
+
try {
|
|
223
|
+
return Promise.resolve(this._context.req.queries(query));
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
return Promise.reject(error);
|
|
227
|
+
}
|
|
81
228
|
}
|
|
82
229
|
getAllQueries() {
|
|
83
230
|
const queries = this._context.req.queries();
|
|
@@ -88,16 +235,47 @@ export class HonoContextWrapper {
|
|
|
88
235
|
return result;
|
|
89
236
|
}
|
|
90
237
|
send(data, statusOrOptions) {
|
|
91
|
-
|
|
238
|
+
let status = 200;
|
|
239
|
+
let headers;
|
|
240
|
+
if (typeof statusOrOptions === 'number') {
|
|
241
|
+
status = statusOrOptions;
|
|
242
|
+
}
|
|
243
|
+
else if (statusOrOptions) {
|
|
244
|
+
if (statusOrOptions.status !== undefined) {
|
|
245
|
+
status = statusOrOptions.status;
|
|
246
|
+
}
|
|
247
|
+
headers = statusOrOptions.headers;
|
|
248
|
+
}
|
|
249
|
+
const context = this._context;
|
|
92
250
|
if (headers !== undefined) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
251
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
252
|
+
context.res.headers.append(key, value);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
else if (status === 200) {
|
|
256
|
+
return typeof data === 'string' ? this.sendText(data) : this.sendJson(data);
|
|
96
257
|
}
|
|
97
258
|
if (typeof data === 'string') {
|
|
98
|
-
return
|
|
259
|
+
return context.text(data, status);
|
|
260
|
+
}
|
|
261
|
+
return context.json(data, status, headers);
|
|
262
|
+
}
|
|
263
|
+
sendText(data) {
|
|
264
|
+
const response = this._context.text(data);
|
|
265
|
+
if (response.headers.get('content-type') === null) {
|
|
266
|
+
response.headers.set('Content-Type', TEXT_PLAIN);
|
|
267
|
+
return response;
|
|
268
|
+
}
|
|
269
|
+
return response.status === 200 ? response : this._context.text(data, 200);
|
|
270
|
+
}
|
|
271
|
+
sendJson(data) {
|
|
272
|
+
const body = JSON.stringify(data);
|
|
273
|
+
const response = this._context.text(body);
|
|
274
|
+
if (response.headers.get('content-type') === null) {
|
|
275
|
+
response.headers.set('Content-Type', APPLICATION_JSON);
|
|
276
|
+
return response;
|
|
99
277
|
}
|
|
100
|
-
return this._context.
|
|
278
|
+
return this._context.body(body, 200, { 'Content-Type': APPLICATION_JSON });
|
|
101
279
|
}
|
|
102
280
|
async getCookie(name, secret) {
|
|
103
281
|
return secret ? await getSignedCookie(this._context, secret, name) : getCookie(this._context, name);
|
|
@@ -249,6 +427,7 @@ export class HonoContextWrapper {
|
|
|
249
427
|
}
|
|
250
428
|
set context(value) {
|
|
251
429
|
this._context = value;
|
|
430
|
+
this._url = undefined;
|
|
252
431
|
}
|
|
253
432
|
}
|
|
254
433
|
//# sourceMappingURL=HonoContextWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HonoContextWrapper.js","sourceRoot":"","sources":["../../lib/HonoContextWrapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HonoContextWrapper.js","sourceRoot":"","sources":["../../lib/HonoContextWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GAIjB,MAAM,wBAAwB,CAAC;AAWhC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC,CAAC,oBAAoB;AACxH,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,SAAS,IAAI,aAAa,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AAEnD,MAAM,UAAU,GAAG,2BAA2B,CAAC;AAE/C,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAE5C,MAAM,WAAW,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAE3F,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAExC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,GAAW,EAAsB,EAAE;IACtE,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,aAAa,CAAC,GAAG,EAAE,GAAG,CAAuB,CAAC;IACvD,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAElC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,IAAI,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAExC,OAAO,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;QAE5C,IACE,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YACzD,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAClD,CAAC;YACD,kGAAkG;YAClG,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/F,OAAO,aAAa,CAAC,GAAG,EAAE,GAAG,CAAuB,CAAC;YACvD,CAAC;YAED,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBAChB,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;gBACtC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;gBACzC,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBAE9E,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAwB,CAAC,CAAC,CAAC,KAAK,CAAC;YACtF,CAAC;YAED,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,OAAO,kBAAkB;IAI7B,sFAAsF;IACtF,mEAAmE;IACnE,IAAY,cAAc;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAA4B,CAAkC,CAAC;IAC1F,CAAC;IAEO,oBAAoB;QAC1B,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;QAEpC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,IAAI,cAAc,EAAK,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAA4B,EAAE,SAAkB,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,IAAI,cAAc,EAAK,CAAC,KAAK,CAAC;IACrE,CAAC;IAED,gBAAgB;IACT,YAAY,CAAC,MAAmB,EAAE,KAAc;QACrD,IAAI,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,gBAAgB;IACT,sBAAsB;QAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC;IAED,gBAAgB;IACT,iBAAiB,CAAC,MAAmB;QAC1C,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,MAAM;gBACT,OAAO,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;YACjH,KAAK,MAAM;gBACT,OAAO,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3G,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9B,KAAK,SAAS;gBACZ,OAAO,CAAC,GAAG,EAAE;oBACX,MAAM,OAAO,GAA2B,EAAE,CAAC;oBAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;wBACnD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;oBACrC,CAAC,CAAC,CAAC;oBACH,OAAO,OAAO,CAAC;gBACjB,CAAC,CAAC,EAAE,CAAC;YACP,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAED,8FAA8F;IAC9F,kDAAkD;IAC1C,KAAK,CAAC,kBAAkB;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;QAEtC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAEnG,GAAG,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAElC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,QAAQ,CAAU;IAElB,OAAO,CAAiB;IAExB,UAAU,CAAiB;IAE3B,IAAI,CAAU;IAEtB,YAAmB,OAAgB,EAAE,MAAsB;QACzD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED,IAAW,YAAY;QACrB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAW,OAAO;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAuC,CAAC;QACxF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEd,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtB,CAAC,EAAE,CAAC;YACN,CAAC;YAED,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QACpB,CAAC;QAED,MAAM,OAAO,GAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpB,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAW,CAAC;YACpC,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;QAEpC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtG,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;IAED;;;;;;;OAOG;IACI,YAAY;QACjB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;YAElC,IAAI,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAM,CAAC,CAAC;YACvE,8FAA8F;YAC9F,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,MAAe,CAAC,CAAC;YAE/C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,SAAc,CAAC,CAAC;YACzC,CAAC;YAED,OAAO,GAAG,CAAC,SAAS,EAAgB,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,KAAc,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC;IAEM,QAAQ,CAAC,CAAS;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;OAWG;IACI,OAAO;QACZ,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;YAElC,IAAI,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAM,CAAC,CAAC;YACvE,8FAA8F;YAC9F,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,MAAe,CAAkB,CAAC;YAEhE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;YAED,OAAO,GAAG,CAAC,IAAI,EAAK,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,KAAc,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEM,QAAQ,CAAC,KAAa;QAC3B,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,KAAc,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEM,WAAW,CAAC,KAAa;QAC9B,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,KAAc,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEM,aAAa;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAsC,EAAE,CAAC;QAErD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,IAAI,CAAC,IAAkB,EAAE,eAAsC;QACpE,IAAI,MAAM,GAAG,GAAG,CAAC;QACjB,IAAI,OAA+B,CAAC;QAEpC,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,GAAG,eAAe,CAAC;QAC3B,CAAC;aAAM,IAAI,eAAe,EAAE,CAAC;YAC3B,IAAI,eAAe,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;YAClC,CAAC;YAED,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;QACpC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE9B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAA8B,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAA8B,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAEO,QAAQ,CAAC,IAAY;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC;YAClD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YAEjD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5E,CAAC;IAEO,QAAQ,CAAC,IAAa;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC;YAClD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;YAEvD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC7E,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,MAA8B;QACjE,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtG,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,KAAa,EAAE,OAAoC;QACtF,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,IAAI;YAC1C,MAAM,EAAE,SAAS;YACjB,YAAY,EAAE,SAAS;SACxB,CAAC;QAEF,OAAO,MAAM;YACX,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC;YACnE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,OAAoC;QAC1E,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,IAAI;YAClC,MAAM,EAAE,SAAS;YACjB,YAAY,EAAE,SAAS;SACxB,CAAC;QAEF,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IAClD,CAAC;IAEM,YAAY;QACjB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAE3D,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;OAGG;IACI,iBAAiB,CAAC,GAAW,EAAE,KAAa;QACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,oBAAoB,CAAC,GAAW,EAAE,KAAa;QACpD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAEM,QAAQ,CAAC,GAAW;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAIM,QAAQ,CAAC,GAAW;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAIM,QAAQ,CAAC,GAAW,EAAE,KAAU;QACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,iBAAiB,CAAC,KAAU;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAM,CAAC;IAClD,CAAC;IAEM,IAAI,CAAC,IAAY,EAAE,eAAsC;QAC9D,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,MAAM,GAAG,GAAG,EAAE,GAClC,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC;QAE5F,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAA8B,EAAE,OAAO,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAA8B,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAEM,MAAM,CACX,EAAgD,EAChD,OAAoE;QAEpE,OAAO,UAAU,CACf,IAAI,CAAC,QAAQ,EACb,KAAK,EAAE,UAAU,EAAE,EAAE;YACnB,MAAM,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9C,CAAC,EACD,OAAO;YACL,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE;gBACtB,MAAM,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;YACtD,CAAC;YACH,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;IAEM,SAAS,CACd,EAAmD,EACnD,OAAuE;QAEvE,OAAO,aAAa,CAClB,IAAI,CAAC,QAAQ,EACb,KAAK,EAAE,UAAU,EAAE,EAAE;YACnB,MAAM,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;QACjD,CAAC,EACD,OAAO;YACL,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE;gBACtB,MAAM,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;YACzD,CAAC;YACH,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;IAEM,UAAU,CACf,EAAgD,EAChD,OAAoE;QAEpE,OAAO,cAAc,CACnB,IAAI,CAAC,QAAQ,EACb,KAAK,EAAE,UAAU,EAAE,EAAE;YACnB,MAAM,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9C,CAAC,EACD,OAAO;YACL,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE;gBACtB,MAAM,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;YACtD,CAAC;YACH,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,UAAwB;QAC/C,OAAO;YACL,4EAA4E;YAC5E,uFAAuF;YACvF,gFAAgF;YAChF,KAAK,EAAE,KAAK,EAAE,KAA0B,EAAE,EAAE;gBAC1C,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE;gBAC/B,MAAM,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YACD,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE;YAC/B,IAAI,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YACrD,OAAO,EAAE,CAAC,QAAoC,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC/E,IAAI,OAAO;gBACT,OAAO,UAAU,CAAC,OAAO,CAAC;YAC5B,CAAC;YACD,IAAI,MAAM;gBACR,OAAO,UAAU,CAAC,MAAM,CAAC;YAC3B,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,UAA2B;QACrD,OAAO;YACL,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;YACpC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAChE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC7D,CAAC;gBAED,6EAA6E;gBAC7E,gFAAgF;gBAChF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAClC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO;yBAC1B,KAAK,CAAC,YAAY,CAAC;yBACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;yBAC1B,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;gBACzC,CAAC;gBAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,UAAU,CAAC,QAAQ,CAAC;wBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,KAAK,EAAE,OAAO,CAAC,KAAK;qBACrB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAW,OAAO,CAAC,KAAc;QAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,CAAC;CACF"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import type { HonoRequest } from 'hono';
|
|
2
2
|
import type { AsenaContext } from '@asenajs/asena/adapter';
|
|
3
|
-
export type Context<P extends string = any, I = any, R extends Response = Response> = AsenaContext<HonoRequest<P, I>, R>;
|
|
3
|
+
export type Context<P extends string = any, I extends {} | undefined = any, R extends Response = Response> = AsenaContext<HonoRequest<P, I>, R>;
|
|
4
|
+
import { defineContext } from '../defineContext';
|
|
5
|
+
export declare const Context: {
|
|
6
|
+
define: typeof defineContext;
|
|
7
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../lib/defaults/Context.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../lib/defaults/Context.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AsenaMiddlewareService } from '@asenajs/asena/middleware';
|
|
2
2
|
import type { HonoRequest } from 'hono';
|
|
3
3
|
import type { AsenaContext } from '@asenajs/asena/adapter';
|
|
4
|
-
export declare abstract class MiddlewareService<P extends string = any, I = any> extends AsenaMiddlewareService<AsenaContext<HonoRequest<P, I>, Response>> {
|
|
4
|
+
export declare abstract class MiddlewareService<P extends string = any, I extends {} | undefined = any> extends AsenaMiddlewareService<AsenaContext<HonoRequest<P, I>, Response>> {
|
|
5
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MiddlewareService.js","sourceRoot":"","sources":["../../../lib/defaults/MiddlewareService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAInE,MAAM,OAAgB,
|
|
1
|
+
{"version":3,"file":"MiddlewareService.js","sourceRoot":"","sources":["../../../lib/defaults/MiddlewareService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAInE,uEAAuE;AACvE,MAAM,OAAgB,iBAIpB,SAAQ,sBAAiE;CAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/defaults/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/defaults/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ASENA_CONTEXT_CONTRACT, ASENA_CONTEXT_ADAPTER, type RequestSchemas, type ExactRequestSchemas, type InferInputs } from '@asenajs/asena/adapter';
|
|
2
|
+
import { HonoContextWrapper } from './HonoContextWrapper';
|
|
3
|
+
export interface DefinedContext<S extends RequestSchemas> {
|
|
4
|
+
new (...args: ConstructorParameters<typeof HonoContextWrapper>): HonoContextWrapper<InferInputs<S>>;
|
|
5
|
+
readonly [ASENA_CONTEXT_CONTRACT]: Readonly<S>;
|
|
6
|
+
readonly [ASENA_CONTEXT_ADAPTER]: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function defineContext<const S extends RequestSchemas>(schemas: ExactRequestSchemas<S>): DefinedContext<S>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ASENA_CONTEXT_CONTRACT, ASENA_CONTEXT_ADAPTER, defineRequestSchemas, } from '@asenajs/asena/adapter';
|
|
2
|
+
import { HonoContextWrapper } from './HonoContextWrapper';
|
|
3
|
+
export function defineContext(schemas) {
|
|
4
|
+
const contract = defineRequestSchemas(schemas);
|
|
5
|
+
return class RouteContext extends HonoContextWrapper {
|
|
6
|
+
static [ASENA_CONTEXT_CONTRACT] = contract;
|
|
7
|
+
static [ASENA_CONTEXT_ADAPTER] = 'hono-adapter';
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=defineContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defineContext.js","sourceRoot":"","sources":["../../lib/defineContext.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,GAIrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAQ1D,MAAM,UAAU,aAAa,CAAiC,OAA+B;IAC3F,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,MAAM,YAAa,SAAQ,kBAAkC;QAC3D,MAAM,CAAU,CAAC,sBAAsB,CAAC,GAAG,QAAQ,CAAC;QACpD,MAAM,CAAU,CAAC,qBAAqB,CAAC,GAAG,cAAc,CAAC;KACjE,CAAC;AACJ,CAAC"}
|
|
@@ -90,10 +90,11 @@ export interface RateLimiterOptions {
|
|
|
90
90
|
/**
|
|
91
91
|
* Custom key generator function
|
|
92
92
|
*
|
|
93
|
-
* By default,
|
|
93
|
+
* By default, identifies the client by the connecting peer, or by the client hop of
|
|
94
|
+
* `X-Forwarded-For` when `trustProxy` trusts the peer.
|
|
94
95
|
* You can customize this to use user ID, API key, or any other identifier.
|
|
95
96
|
*
|
|
96
|
-
* @default (ctx) => ctx.
|
|
97
|
+
* @default (ctx) => ctx.getRequestIp() ?? 'unknown'
|
|
97
98
|
*
|
|
98
99
|
* @example
|
|
99
100
|
* ```typescript
|
|
@@ -105,6 +106,38 @@ export interface RateLimiterOptions {
|
|
|
105
106
|
* ```
|
|
106
107
|
*/
|
|
107
108
|
keyGenerator?: (context: Context) => string;
|
|
109
|
+
/**
|
|
110
|
+
* Which connecting peers are reverse proxies whose `X-Forwarded-For` may be believed.
|
|
111
|
+
*
|
|
112
|
+
* - `false` (default): the connecting peer (`getRequestIp()`) is the client; the header is ignored.
|
|
113
|
+
* - `true`: one proxy layer in front of the server. The header is read and its rightmost entry - the
|
|
114
|
+
* one the proxy appended - is the client. Also the right setting when the server listens on a unix
|
|
115
|
+
* socket (no peer address to check).
|
|
116
|
+
* - `string[]`: exact addresses of the trusted proxies. An IPv4 address matches whether it is written
|
|
117
|
+
* plain (`'10.0.0.1'`) or IPv4-mapped (`'::ffff:10.0.0.1'`, how Bun reports it on a dual-stack
|
|
118
|
+
* listener), in the list, the peer and the forwarded hops alike. Entries are walked from the right;
|
|
119
|
+
* the first one not in the list is the client.
|
|
120
|
+
* - `(address) => boolean`: same walk with a predicate (CIDR checks live here).
|
|
121
|
+
*
|
|
122
|
+
* A hop the client wrote itself (`X-Forwarded-For: <forged>, <real>`) is never selected: selection
|
|
123
|
+
* starts from the right and stops at the first untrusted address.
|
|
124
|
+
*
|
|
125
|
+
* Both misconfigurations below fail closed - every client lands in one bucket:
|
|
126
|
+
* - `true` behind two or more proxy layers keys on the outer proxy (the rightmost hop); list every
|
|
127
|
+
* proxy, or use a predicate, instead.
|
|
128
|
+
* - A trusted peer that sends no usable `X-Forwarded-For` keys on the peer itself; logged once.
|
|
129
|
+
*
|
|
130
|
+
* @default false
|
|
131
|
+
*/
|
|
132
|
+
trustProxy?: boolean | string[] | ((address: string) => boolean);
|
|
133
|
+
/**
|
|
134
|
+
* Upper bound on distinct client buckets held in memory. When a new client arrives at the cap, the
|
|
135
|
+
* least recently seen bucket is evicted - that client starts over with a full bucket.
|
|
136
|
+
* Must be a positive integer; the constructor throws otherwise.
|
|
137
|
+
*
|
|
138
|
+
* @default 10000
|
|
139
|
+
*/
|
|
140
|
+
maxBuckets?: number;
|
|
108
141
|
/**
|
|
109
142
|
* Custom message for rate limit exceeded response
|
|
110
143
|
*
|
|
@@ -231,6 +264,14 @@ export declare class RateLimiterMiddleware extends MiddlewareService {
|
|
|
231
264
|
* Client key generator function
|
|
232
265
|
*/
|
|
233
266
|
private readonly keyGenerator;
|
|
267
|
+
/**
|
|
268
|
+
* Trusted reverse proxies whose `X-Forwarded-For` may be believed
|
|
269
|
+
*/
|
|
270
|
+
private readonly trustProxy;
|
|
271
|
+
/**
|
|
272
|
+
* Upper bound on distinct client buckets held in memory
|
|
273
|
+
*/
|
|
274
|
+
private readonly maxBuckets;
|
|
234
275
|
/**
|
|
235
276
|
* Rate limit exceeded message
|
|
236
277
|
*/
|
|
@@ -255,6 +296,7 @@ export declare class RateLimiterMiddleware extends MiddlewareService {
|
|
|
255
296
|
* Bucket TTL in milliseconds
|
|
256
297
|
*/
|
|
257
298
|
private readonly bucketTTL;
|
|
299
|
+
private warnedNoForwardedFor;
|
|
258
300
|
/**
|
|
259
301
|
* Creates a new rate limiter middleware instance
|
|
260
302
|
*
|
|
@@ -322,12 +364,40 @@ export declare class RateLimiterMiddleware extends MiddlewareService {
|
|
|
322
364
|
*/
|
|
323
365
|
clearBuckets(): void;
|
|
324
366
|
/**
|
|
325
|
-
* Default key generator -
|
|
367
|
+
* Default key generator - the connecting peer, see `trustProxy`
|
|
326
368
|
*
|
|
327
369
|
* @param context - Hono context
|
|
328
370
|
* @returns Client identifier
|
|
329
371
|
*/
|
|
330
372
|
private defaultKeyGenerator;
|
|
373
|
+
/**
|
|
374
|
+
* Resolve the client identifier: the connecting peer, or the client hop of `X-Forwarded-For`
|
|
375
|
+
* when the peer is a trusted proxy
|
|
376
|
+
*
|
|
377
|
+
* @param context - Hono context
|
|
378
|
+
* @returns Client identifier
|
|
379
|
+
*/
|
|
380
|
+
private resolveClientKey;
|
|
381
|
+
/**
|
|
382
|
+
* Warn, once per instance, that a trusted peer forwarded no usable `X-Forwarded-For`
|
|
383
|
+
*
|
|
384
|
+
* @param peer - The trusted peer address
|
|
385
|
+
*/
|
|
386
|
+
private warnNoForwardedFor;
|
|
387
|
+
/**
|
|
388
|
+
* Whether an address is a reverse proxy whose forwarded hops may be believed
|
|
389
|
+
*
|
|
390
|
+
* @param address - Peer or forwarded hop address
|
|
391
|
+
* @returns True when the address is trusted
|
|
392
|
+
*/
|
|
393
|
+
private trusts;
|
|
394
|
+
/**
|
|
395
|
+
* Parse `X-Forwarded-For` into its hops, left to right
|
|
396
|
+
*
|
|
397
|
+
* @param context - Hono context
|
|
398
|
+
* @returns The forwarded hops, or an empty list when the header is absent or over-long
|
|
399
|
+
*/
|
|
400
|
+
private forwardedHops;
|
|
331
401
|
/**
|
|
332
402
|
* Setup automatic cleanup of inactive buckets
|
|
333
403
|
*
|