@beignet/core 0.0.46 → 0.0.48
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/CHANGELOG.md +15 -0
- package/README.md +56 -23
- package/dist/providers/instrumentation.d.ts.map +1 -1
- package/dist/providers/instrumentation.js +14 -2
- package/dist/providers/instrumentation.js.map +1 -1
- package/dist/providers/metadata.d.ts +2 -0
- package/dist/providers/metadata.d.ts.map +1 -1
- package/dist/providers/metadata.js +78 -16
- package/dist/providers/metadata.js.map +1 -1
- package/dist/server/context.d.ts +7 -0
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js.map +1 -1
- package/dist/server/hooks/logging.d.ts +3 -0
- package/dist/server/hooks/logging.d.ts.map +1 -1
- package/dist/server/hooks/logging.js +18 -7
- package/dist/server/hooks/logging.js.map +1 -1
- package/dist/server/hooks/rate-limit.d.ts +7 -7
- package/dist/server/hooks/rate-limit.d.ts.map +1 -1
- package/dist/server/hooks/rate-limit.js +15 -9
- package/dist/server/hooks/rate-limit.js.map +1 -1
- package/dist/server/hooks/security.d.ts +4 -3
- package/dist/server/hooks/security.d.ts.map +1 -1
- package/dist/server/hooks/security.js +5 -3
- package/dist/server/hooks/security.js.map +1 -1
- package/dist/server/http.d.ts +12 -0
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/request-executor.d.ts +5 -2
- package/dist/server/request-executor.d.ts.map +1 -1
- package/dist/server/request-executor.js +21 -2
- package/dist/server/request-executor.js.map +1 -1
- package/dist/server/server-context.d.ts +2 -1
- package/dist/server/server-context.d.ts.map +1 -1
- package/dist/server/server-context.js +2 -1
- package/dist/server/server-context.js.map +1 -1
- package/dist/server/server.d.ts +9 -0
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +14 -2
- package/dist/server/server.js.map +1 -1
- package/dist/server/trusted-proxy-internal.d.ts +4 -0
- package/dist/server/trusted-proxy-internal.d.ts.map +1 -0
- package/dist/server/trusted-proxy-internal.js +27 -0
- package/dist/server/trusted-proxy-internal.js.map +1 -0
- package/dist/server/trusted-proxy.d.ts +11 -6
- package/dist/server/trusted-proxy.d.ts.map +1 -1
- package/dist/server/trusted-proxy.js +6 -10
- package/dist/server/trusted-proxy.js.map +1 -1
- package/package.json +1 -1
- package/skills/app-architecture/SKILL.md +5 -2
- package/src/providers/instrumentation.ts +15 -2
- package/src/providers/metadata.ts +132 -16
- package/src/server/context.ts +7 -0
- package/src/server/hooks/logging.ts +35 -7
- package/src/server/hooks/rate-limit.ts +25 -15
- package/src/server/hooks/security.ts +11 -7
- package/src/server/http.ts +18 -1
- package/src/server/request-executor.ts +43 -2
- package/src/server/server-context.ts +2 -1
- package/src/server/server.ts +30 -1
- package/src/server/trusted-proxy-internal.ts +41 -0
- package/src/server/trusted-proxy.ts +20 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../../src/server/hooks/rate-limit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAKzE,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../../src/server/hooks/rate-limit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAKzE,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EAExB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,KAAK,mBAAmB,GAAG,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAE3D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,0BAA0B,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,GAAG;IACnC;;;;OAIG;IACH,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE;QACX,GAAG,EAAE,GAAG,CAAC;QACT,GAAG,EAAE,eAAe,CAAC;QACrB,KAAK,EAAE,cAAc,CAAC;KACvB,KAAK,MAAM,CAAC;IACb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,GAAG,EAAE,eAAe,CAAC;QACrB,KAAK,EAAE,mBAAmB,CAAC;KAC5B,KAAK,MAAM,CAAC;IACb;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAmID;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,SAAS,gBAAgB,EAC/D,OAAO,GAAE,gBAAgB,CAAC,GAAG,CAAM,GAClC,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CA+FjC"}
|
|
@@ -109,20 +109,26 @@ async function enforceRateLimit(ports, args) {
|
|
|
109
109
|
*/
|
|
110
110
|
export function createRateLimitHooks(options = {}) {
|
|
111
111
|
const { ipSource, trustedProxy } = options;
|
|
112
|
-
const getClientIp = (req, contractName) => {
|
|
112
|
+
const getClientIp = (req, requestInfo, contractName) => {
|
|
113
113
|
if (ipSource !== undefined) {
|
|
114
114
|
return resolveClientIp(req, ipSource);
|
|
115
115
|
}
|
|
116
|
-
if (
|
|
117
|
-
|
|
116
|
+
if (trustedProxy !== undefined) {
|
|
117
|
+
if (hasTrustedProxyClientIp(trustedProxy) && trustedProxy) {
|
|
118
|
+
return resolveTrustedClientIp(req, trustedProxy.clientIp);
|
|
119
|
+
}
|
|
120
|
+
throw ipSourceConfigurationError(formatContractNames([contractName]));
|
|
121
|
+
}
|
|
122
|
+
if (requestInfo?.clientIpTrusted) {
|
|
123
|
+
return requestInfo.clientIp;
|
|
118
124
|
}
|
|
119
125
|
throw ipSourceConfigurationError(formatContractNames([contractName]));
|
|
120
126
|
};
|
|
121
127
|
return {
|
|
122
128
|
name: "rate-limit",
|
|
123
|
-
validate: ({ contracts }) => {
|
|
129
|
+
validate: ({ contracts, trustedProxy: serverTrustedProxy }) => {
|
|
124
130
|
if (ipSource !== undefined ||
|
|
125
|
-
hasTrustedProxyClientIp(trustedProxy) ||
|
|
131
|
+
hasTrustedProxyClientIp(trustedProxy !== undefined ? trustedProxy : serverTrustedProxy) ||
|
|
126
132
|
options.earlyKey) {
|
|
127
133
|
return;
|
|
128
134
|
}
|
|
@@ -134,7 +140,7 @@ export function createRateLimitHooks(options = {}) {
|
|
|
134
140
|
}
|
|
135
141
|
throw ipSourceConfigurationError(formatContractNames(ipScoped));
|
|
136
142
|
},
|
|
137
|
-
onRequest: async ({ contract, ports, req }) => {
|
|
143
|
+
onRequest: async ({ contract, ports, req, requestInfo }) => {
|
|
138
144
|
const rlMeta = contract.metadata?.rateLimit;
|
|
139
145
|
if (!rlMeta) {
|
|
140
146
|
return undefined;
|
|
@@ -144,7 +150,7 @@ export function createRateLimitHooks(options = {}) {
|
|
|
144
150
|
return undefined;
|
|
145
151
|
}
|
|
146
152
|
const key = options.earlyKey?.({ req, scope }) ??
|
|
147
|
-
defaultEarlyRateLimitKey({ req, scope }, (r) => getClientIp(r, contract.name));
|
|
153
|
+
defaultEarlyRateLimitKey({ req, scope }, (r) => getClientIp(r, requestInfo, contract.name));
|
|
148
154
|
await enforceRateLimit(ports, {
|
|
149
155
|
key,
|
|
150
156
|
limit: rlMeta.max,
|
|
@@ -153,7 +159,7 @@ export function createRateLimitHooks(options = {}) {
|
|
|
153
159
|
});
|
|
154
160
|
return undefined;
|
|
155
161
|
},
|
|
156
|
-
beforeHandle: async ({ ctx, contract, req }) => {
|
|
162
|
+
beforeHandle: async ({ ctx, contract, req, requestInfo }) => {
|
|
157
163
|
const rlMeta = contract.metadata?.rateLimit;
|
|
158
164
|
if (!rlMeta) {
|
|
159
165
|
return undefined;
|
|
@@ -163,7 +169,7 @@ export function createRateLimitHooks(options = {}) {
|
|
|
163
169
|
return undefined;
|
|
164
170
|
}
|
|
165
171
|
const key = options.key?.({ ctx, req, scope }) ??
|
|
166
|
-
defaultRateLimitKey({ ctx, req, scope }, (r) => getClientIp(r, contract.name));
|
|
172
|
+
defaultRateLimitKey({ ctx, req, scope }, (r) => getClientIp(r, requestInfo, contract.name));
|
|
167
173
|
await enforceRateLimit(ctx.ports, {
|
|
168
174
|
key,
|
|
169
175
|
limit: rlMeta.max,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../../src/server/hooks/rate-limit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EACL,6BAA6B,GAE9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,sBAAsB,
|
|
1
|
+
{"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../../src/server/hooks/rate-limit.ts"],"names":[],"mappings":"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"}
|
|
@@ -137,12 +137,13 @@ export interface CsrfHooksOptions {
|
|
|
137
137
|
*/
|
|
138
138
|
token?: false | CsrfTokenOptions;
|
|
139
139
|
/**
|
|
140
|
-
*
|
|
141
|
-
* origin against `Origin` or `Referer`.
|
|
140
|
+
* Hook-local trusted-proxy policy used when comparing the request's external
|
|
141
|
+
* origin against `Origin` or `Referer`. This overrides the server-level
|
|
142
|
+
* policy.
|
|
142
143
|
*
|
|
143
144
|
* Configure this only when the app is always behind a platform or reverse
|
|
144
145
|
* proxy that strips or normalizes forwarding headers. Without this option,
|
|
145
|
-
* CSRF uses `
|
|
146
|
+
* CSRF uses the `requestInfo` resolved by `createServer(...)`.
|
|
146
147
|
*/
|
|
147
148
|
trustedProxy?: TrustedProxyConfig;
|
|
148
149
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../src/server/hooks/security.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACzC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACnC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAChC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,8BAA8B,GAAG,MAAM,GAAG,KAAK,CAAC;IAC1E;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IACxC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,KAAK,CAAC;CAC/C;AAED,MAAM,MAAM,iBAAiB,GACzB,gBAAgB,GAChB,kBAAkB,GAClB,eAAe,GACf,eAAe,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;;;OAKG;IACH,cAAc,CAAC,EACX,SAAS,MAAM,EAAE,GACjB,CAAC,CAAC,IAAI,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,eAAe,CAAC;QACrB,QAAQ,EAAE,kBAAkB,CAAC;KAC9B,KAAK,OAAO,CAAC,CAAC;IACnB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAAC;IACjC
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../src/server/hooks/security.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACzC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACnC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAChC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,8BAA8B,GAAG,MAAM,GAAG,KAAK,CAAC;IAC1E;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IACxC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,KAAK,CAAC;CAC/C;AAED,MAAM,MAAM,iBAAiB,GACzB,gBAAgB,GAChB,kBAAkB,GAClB,eAAe,GACf,eAAe,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;;;OAKG;IACH,cAAc,CAAC,EACX,SAAS,MAAM,EAAE,GACjB,CAAC,CAAC,IAAI,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,eAAe,CAAC;QACrB,QAAQ,EAAE,kBAAkB,CAAC;KAC9B,KAAK,OAAO,CAAC,CAAC;IACnB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAAC;IACjC;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC;;;OAGG;IACH,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;QACZ,GAAG,EAAE,eAAe,CAAC;QACrB,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAClC;AAsCD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,GAAE,sBAA2B,GACnC,IAAI,CAyCN;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAC5C,OAAO,GAAE,sBAA2B,GACnC,UAAU,CAAC,GAAG,CAAC,CAYjB;AAwLD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EACjC,OAAO,GAAE,gBAAqB,GAC7B,UAAU,CAAC,GAAG,CAAC,CA8BjB"}
|
|
@@ -170,7 +170,7 @@ function enforceOrigin(args) {
|
|
|
170
170
|
origin,
|
|
171
171
|
req: args.req,
|
|
172
172
|
contract: args.contract,
|
|
173
|
-
requestOrigin:
|
|
173
|
+
requestOrigin: args.requestOrigin,
|
|
174
174
|
trustedOrigins: args.trustedOrigins,
|
|
175
175
|
})) {
|
|
176
176
|
throw csrfError("untrusted_origin", "CSRF check failed because the request origin is not trusted.");
|
|
@@ -205,7 +205,7 @@ export function createCsrfHooks(options = {}) {
|
|
|
205
205
|
const token = options.token ?? false;
|
|
206
206
|
return {
|
|
207
207
|
name: "csrf",
|
|
208
|
-
onRequest: async ({ req, contract, params }) => {
|
|
208
|
+
onRequest: async ({ req, requestInfo, contract, params }) => {
|
|
209
209
|
if (!protectedMethods.has(req.method.toUpperCase()))
|
|
210
210
|
return undefined;
|
|
211
211
|
if (await options.skip?.({ req, contract, params }))
|
|
@@ -215,7 +215,9 @@ export function createCsrfHooks(options = {}) {
|
|
|
215
215
|
contract,
|
|
216
216
|
allowMissingOrigin,
|
|
217
217
|
trustedOrigins,
|
|
218
|
-
|
|
218
|
+
requestOrigin: options.trustedProxy !== undefined
|
|
219
|
+
? requestOrigin(req, options.trustedProxy)
|
|
220
|
+
: (requestInfo?.origin ?? requestOrigin(req, false)),
|
|
219
221
|
});
|
|
220
222
|
enforceToken(req, token);
|
|
221
223
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../../src/server/hooks/security.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EACL,qBAAqB,GAGtB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../../src/server/hooks/security.ts"],"names":[],"mappings":"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"}
|
package/dist/server/http.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { HttpContractConfig, InferHeaderSchemaOutput, InferOutput, StandardSchema } from "../contracts/index.js";
|
|
2
2
|
import type { AnyPorts } from "../ports/index.js";
|
|
3
|
+
import type { TrustedProxyConfig, TrustedRequestInfo } from "./trusted-proxy.js";
|
|
3
4
|
/**
|
|
4
5
|
* Framework-neutral request shape consumed by Beignet server adapters.
|
|
5
6
|
*
|
|
@@ -210,6 +211,7 @@ export type AddedCtxFromHooks<Hooks extends readonly unknown[]> = Hooks extends
|
|
|
210
211
|
*/
|
|
211
212
|
export type OnRequestHook<Ports extends AnyPorts = AnyPorts, C extends HttpContractConfig = HttpContractConfig> = (args: {
|
|
212
213
|
req: HttpRequestLike;
|
|
214
|
+
requestInfo: TrustedRequestInfo;
|
|
213
215
|
ports: Ports;
|
|
214
216
|
contract: C;
|
|
215
217
|
params: Record<string, string>;
|
|
@@ -229,6 +231,7 @@ export type BeforeHandleResult<Ctx> = undefined | HttpResponse | {
|
|
|
229
231
|
*/
|
|
230
232
|
export type BeforeHandleHook<Ctx, C extends HttpContractConfig = HttpContractConfig> = (args: {
|
|
231
233
|
req: HttpRequestLike;
|
|
234
|
+
requestInfo: TrustedRequestInfo;
|
|
232
235
|
ctx: Ctx;
|
|
233
236
|
contract: C;
|
|
234
237
|
path: InferPath<C>;
|
|
@@ -245,6 +248,7 @@ export type BeforeHandleHook<Ctx, C extends HttpContractConfig = HttpContractCon
|
|
|
245
248
|
*/
|
|
246
249
|
export type BeforeSendHook<Ctx, C extends HttpContractConfig = HttpContractConfig> = (args: {
|
|
247
250
|
req: HttpRequestLike;
|
|
251
|
+
requestInfo: TrustedRequestInfo;
|
|
248
252
|
ctx?: Ctx;
|
|
249
253
|
contract: C;
|
|
250
254
|
path?: InferPath<C>;
|
|
@@ -288,6 +292,7 @@ export type RequestStageTimings = {
|
|
|
288
292
|
*/
|
|
289
293
|
export type AfterSendHook<Ctx, C extends HttpContractConfig = HttpContractConfig> = (args: {
|
|
290
294
|
req: HttpRequestLike;
|
|
295
|
+
requestInfo: TrustedRequestInfo;
|
|
291
296
|
ctx?: Ctx;
|
|
292
297
|
contract: C;
|
|
293
298
|
path?: InferPath<C>;
|
|
@@ -308,6 +313,7 @@ export type AfterSendHook<Ctx, C extends HttpContractConfig = HttpContractConfig
|
|
|
308
313
|
export type ServerCaughtErrorHook<Ctx, C extends HttpContractConfig = HttpContractConfig> = (args: {
|
|
309
314
|
err: unknown;
|
|
310
315
|
req: HttpRequestLike;
|
|
316
|
+
requestInfo?: TrustedRequestInfo;
|
|
311
317
|
ctx?: Ctx;
|
|
312
318
|
contract: C;
|
|
313
319
|
path?: InferPath<C>;
|
|
@@ -324,6 +330,7 @@ export type ServerCaughtErrorHook<Ctx, C extends HttpContractConfig = HttpContra
|
|
|
324
330
|
export type ServerUnhandledErrorMapper<Ctx, C extends HttpContractConfig = HttpContractConfig> = (args: {
|
|
325
331
|
err: unknown;
|
|
326
332
|
req: HttpRequestLike;
|
|
333
|
+
requestInfo?: TrustedRequestInfo;
|
|
327
334
|
ctx?: Ctx;
|
|
328
335
|
contract: C;
|
|
329
336
|
path?: InferPath<C>;
|
|
@@ -357,6 +364,11 @@ export interface ServerHook<Ctx, Ports extends AnyPorts = AnyPorts> {
|
|
|
357
364
|
*/
|
|
358
365
|
validate?: (args: {
|
|
359
366
|
contracts: readonly HttpContractConfig[];
|
|
367
|
+
/**
|
|
368
|
+
* Server-level trusted-proxy policy. Request phases receive its resolved
|
|
369
|
+
* value as `requestInfo`.
|
|
370
|
+
*/
|
|
371
|
+
trustedProxy?: TrustedProxyConfig;
|
|
360
372
|
}) => void;
|
|
361
373
|
/**
|
|
362
374
|
* Runs after route matching and before body/query/header parsing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,EACX,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,EACX,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IACrC;;OAEG;IACH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B;;OAEG;IACH,KAAK,CAAC,IAAI,eAAe,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,QAAQ,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAClC,GAAG,EAAE,eAAe,KACjB,OAAO,CAAC,YAAY,CAAC,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,aAAa,EAAE,cAAc,IAAI,CAC9D,GAAG,EAAE,aAAa,KACf,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW,CAAC,aAAa,EAAE,cAAc;IACxD;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,eAAe,CAAC;IACnD;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9E;;OAEG;IACH,aAAa,CACX,OAAO,EAAE,qBAAqB,GAC7B,kBAAkB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;CACtD;AAED,KAAK,qBAAqB,CACxB,CAAC,SAAS,cAAc,GAAG,IAAI,EAC/B,QAAQ,IACN,CAAC,SAAS,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,kBAAkB,IAAI,qBAAqB,CACzE,CAAC,CAAC,YAAY,CAAC,EACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,kBAAkB,IAAI,qBAAqB,CAC1E,CAAC,CAAC,OAAO,CAAC,EACV,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,kBAAkB,IAAI,qBAAqB,CACzE,CAAC,CAAC,MAAM,CAAC,EACT,OAAO,CACR,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,kBAAkB,IACnD,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,SAAS,SAAS,GACvE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtB,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,GAAG,EAAE,CAAC,SAAS,kBAAkB;IAC5D;;OAEG;IACH,GAAG,EAAE,eAAe,CAAC;IACrB;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC;IACT;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC;IAEZ;;OAEG;IACH,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB;;OAEG;IACH,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,kBAAkB,IAAI,CACvD,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,KACtB,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;AAE1C;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C;;;GAGG;AACH,MAAM,MAAM,aAAa,CACvB,GAAG,EACH,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAExB;;;;;;;;;;GAUG;AACH,MAAM,WAAW,SAAS,CACxB,GAAG,EACH,QAAQ,SAAS,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAElE;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;CAC3E;AAED,KAAK,gBAAgB,CAAC,IAAI,IACxB,IAAI,SAAS,SAAS,CAAC,MAAM,IAAI,EAAE,MAAM,QAAQ,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE1E,KAAK,mBAAmB,CAAC,KAAK,IAAI,CAChC,KAAK,SAAS,OAAO,GACjB,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GACtB,KAAK,CACV,SAAS,CAAC,KAAK,EAAE,MAAM,YAAY,KAAK,IAAI,GACzC,YAAY,GACZ,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,IAC5D,KAAK,SAAS,SAAS,EAAE,GACrB,OAAO,GACP,mBAAmB,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CACvB,KAAK,SAAS,QAAQ,GAAG,QAAQ,EACjC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,CAAC,IAAI,EAAE;IACT,GAAG,EAAE,eAAe,CAAC;IACrB,WAAW,EAAE,kBAAkB,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,CAAC,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,KAAK,YAAY,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAAC,GAAG,IAC9B,SAAS,GACT,YAAY,GACZ;IACE,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB,CAAC;AAEN;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAC1B,GAAG,EACH,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,CAAC,IAAI,EAAE;IACT,GAAG,EAAE,eAAe,CAAC;IACrB,WAAW,EAAE,kBAAkB,CAAC;IAChC,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,CAAC,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CACpB,KAAK,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,CACxB,GAAG,EACH,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,CAAC,IAAI,EAAE;IACT,GAAG,EAAE,eAAe,CAAC;IACrB,WAAW,EAAE,kBAAkB,CAAC;IAChC,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,CAAC,CAAC;IACZ,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,KAAK,YAAY,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CACvB,GAAG,EACH,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,CAAC,IAAI,EAAE;IACT,GAAG,EAAE,eAAe,CAAC;IACrB,WAAW,EAAE,kBAAkB,CAAC;IAChC,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,CAAC,CAAC;IACZ,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAC;CAC7B,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAC/B,GAAG,EACH,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,CAAC,IAAI,EAAE;IACT,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,eAAe,CAAC;IACrB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,CAAC,CAAC;IACZ,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CACrB,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;AAEzB;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,CACpC,GAAG,EACH,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAC/C,CAAC,IAAI,EAAE;IACT,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,eAAe,CAAC;IACrB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,CAAC,CAAC;IACZ,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CACrB,KAAK,YAAY,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU,CAAC,GAAG,EAAE,KAAK,SAAS,QAAQ,GAAG,QAAQ;IAChE;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAC;QACzC;;;WAGG;QACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;KACnC,KAAK,IAAI,CAAC;IACX;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACjC;;OAEG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACrC;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B;;OAEG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3C;;OAEG;IACH,iBAAiB,CAAC,EAAE,0BAA0B,CAAC,GAAG,CAAC,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,SAAS,kBAAkB,IAAI;IAC9D;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC;IACZ;;OAEG;IACH,OAAO,EAAE,CACP,GAAG,EAAE,eAAe,EACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC5B,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3B;;OAEG;IACH,KAAK,EAAE,CACL,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,KACb;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAA;KAAE,CAAC;CAC7C,CAAC"}
|
|
@@ -6,6 +6,7 @@ import type { Handler, HttpRequestLike, HttpResponse, RouteHook, ServerCaughtErr
|
|
|
6
6
|
import type { ServerInstrumentationOptions } from "./instrumentation.js";
|
|
7
7
|
import { type RequestBodyOptions } from "./request-preparation.js";
|
|
8
8
|
import { type CompiledPath } from "./route-matching.js";
|
|
9
|
+
import type { TrustedRequestInfo } from "./trusted-proxy.js";
|
|
9
10
|
type RequestExecutorOptions<Ctx> = {
|
|
10
11
|
instrumentation?: ServerInstrumentationOptions<Ctx> | false;
|
|
11
12
|
validateResponses?: boolean;
|
|
@@ -36,8 +37,9 @@ type ExecutionTarget<Ctx, C extends HttpContractConfig> = {
|
|
|
36
37
|
* across requests instead of rebuilding it per unmatched request.
|
|
37
38
|
*/
|
|
38
39
|
export declare function createRequestExecutor<Ctx, FinalPorts extends AnyPorts, C extends HttpContractConfig>(options: RequestExecutorOptions<Ctx>, finalPorts: FinalPorts, contextRuntime: {
|
|
39
|
-
createRequestContext: (req: HttpRequestLike, contract: HttpContractConfig) => Promise<Ctx>;
|
|
40
|
+
createRequestContext: (req: HttpRequestLike, contract: HttpContractConfig, requestInfo: TrustedRequestInfo) => Promise<Ctx>;
|
|
40
41
|
finalizeContext: (seed: ContextSeed<Ctx> | Ctx) => Ctx;
|
|
42
|
+
resolveRequestInfo: (req: HttpRequestLike) => TrustedRequestInfo;
|
|
41
43
|
}, hooks: ServerHook<Ctx, FinalPorts>[], routeHooks?: readonly RouteHook<unknown, object>[], optionsOverrides?: {
|
|
42
44
|
skipRoutePreparation?: boolean;
|
|
43
45
|
/**
|
|
@@ -57,8 +59,9 @@ export declare function createRequestExecutor<Ctx, FinalPorts extends AnyPorts,
|
|
|
57
59
|
*/
|
|
58
60
|
export declare function createMemoScopeRecorder(ports: AnyPorts): ((event: MemoInstrumentationEvent) => void) | undefined;
|
|
59
61
|
export declare function buildHandler<Ctx, FinalPorts extends AnyPorts, C extends HttpContractConfig>(options: RequestExecutorOptions<Ctx>, finalPorts: FinalPorts, contextRuntime: {
|
|
60
|
-
createRequestContext: (req: HttpRequestLike, contract: HttpContractConfig) => Promise<Ctx>;
|
|
62
|
+
createRequestContext: (req: HttpRequestLike, contract: HttpContractConfig, requestInfo: TrustedRequestInfo) => Promise<Ctx>;
|
|
61
63
|
finalizeContext: (seed: ContextSeed<Ctx> | Ctx) => Ctx;
|
|
64
|
+
resolveRequestInfo: (req: HttpRequestLike) => TrustedRequestInfo;
|
|
62
65
|
}, contract: C, userHandler: Handler<Ctx, C>, hooks: ServerHook<Ctx, FinalPorts>[], routeHooks?: readonly RouteHook<unknown, object>[], optionsOverrides?: {
|
|
63
66
|
skipRoutePreparation?: boolean;
|
|
64
67
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-executor.d.ts","sourceRoot":"","sources":["../../src/server/request-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAUhE,OAAO,EACL,KAAK,wBAAwB,EAE9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAkBlD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EACV,OAAO,EAEP,eAAe,EACf,YAAY,EAEZ,SAAS,EACT,qBAAqB,EACrB,UAAU,EACV,0BAA0B,EAC3B,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAUzE,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,0BAA0B,CAAC;AAkBlC,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"request-executor.d.ts","sourceRoot":"","sources":["../../src/server/request-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,14 @@ function withoutHeadResponseBody(response, requestMethod) {
|
|
|
25
25
|
const { body: _body, ...headResponse } = response;
|
|
26
26
|
return headResponse;
|
|
27
27
|
}
|
|
28
|
+
function copyTrustedRequestInfo(requestInfo) {
|
|
29
|
+
if (!requestInfo)
|
|
30
|
+
return undefined;
|
|
31
|
+
return {
|
|
32
|
+
...requestInfo,
|
|
33
|
+
url: new URL(requestInfo.url),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
28
36
|
/**
|
|
29
37
|
* Build the per-request execution pipeline once.
|
|
30
38
|
*
|
|
@@ -37,6 +45,7 @@ export function createRequestExecutor(options, finalPorts, contextRuntime, hooks
|
|
|
37
45
|
const maxRequestBodyBytes = requestBodyLimit(options.requestBody);
|
|
38
46
|
const executeRequest = async (target, req, preMatchedParams) => {
|
|
39
47
|
const { contract, handler: userHandler } = target;
|
|
48
|
+
let requestInfo;
|
|
40
49
|
let baseCtx;
|
|
41
50
|
let pathValue;
|
|
42
51
|
let queryValue;
|
|
@@ -68,6 +77,7 @@ export function createRequestExecutor(options, finalPorts, contextRuntime, hooks
|
|
|
68
77
|
const args = {
|
|
69
78
|
err: caught,
|
|
70
79
|
req,
|
|
80
|
+
requestInfo: copyTrustedRequestInfo(requestInfo),
|
|
71
81
|
ctx,
|
|
72
82
|
contract,
|
|
73
83
|
path,
|
|
@@ -178,6 +188,7 @@ export function createRequestExecutor(options, finalPorts, contextRuntime, hooks
|
|
|
178
188
|
const handled = await hook.mapUnhandledError({
|
|
179
189
|
err: currentError,
|
|
180
190
|
req,
|
|
191
|
+
requestInfo: copyTrustedRequestInfo(requestInfo),
|
|
181
192
|
ctx,
|
|
182
193
|
contract,
|
|
183
194
|
path,
|
|
@@ -205,6 +216,7 @@ export function createRequestExecutor(options, finalPorts, contextRuntime, hooks
|
|
|
205
216
|
const handled = await options.mapUnhandledError({
|
|
206
217
|
err: currentError,
|
|
207
218
|
req,
|
|
219
|
+
requestInfo: copyTrustedRequestInfo(requestInfo),
|
|
208
220
|
ctx,
|
|
209
221
|
contract,
|
|
210
222
|
path,
|
|
@@ -235,6 +247,8 @@ export function createRequestExecutor(options, finalPorts, contextRuntime, hooks
|
|
|
235
247
|
};
|
|
236
248
|
};
|
|
237
249
|
try {
|
|
250
|
+
const resolvedRequestInfo = contextRuntime.resolveRequestInfo(req);
|
|
251
|
+
requestInfo = resolvedRequestInfo;
|
|
238
252
|
const url = new URL(req.url);
|
|
239
253
|
let matchedParams;
|
|
240
254
|
if (preMatchedParams) {
|
|
@@ -270,6 +284,7 @@ export function createRequestExecutor(options, finalPorts, contextRuntime, hooks
|
|
|
270
284
|
continue;
|
|
271
285
|
const nextResponse = await hook.beforeSend({
|
|
272
286
|
req,
|
|
287
|
+
requestInfo: copyTrustedRequestInfo(resolvedRequestInfo),
|
|
273
288
|
ctx: initialResult.ctx,
|
|
274
289
|
contract,
|
|
275
290
|
path: pathValue,
|
|
@@ -310,6 +325,7 @@ export function createRequestExecutor(options, finalPorts, contextRuntime, hooks
|
|
|
310
325
|
continue;
|
|
311
326
|
const nextResponse = await hook.beforeSend({
|
|
312
327
|
req,
|
|
328
|
+
requestInfo: copyTrustedRequestInfo(resolvedRequestInfo),
|
|
313
329
|
ctx: initialResult.ctx,
|
|
314
330
|
contract,
|
|
315
331
|
path: pathValue,
|
|
@@ -382,6 +398,7 @@ export function createRequestExecutor(options, finalPorts, contextRuntime, hooks
|
|
|
382
398
|
try {
|
|
383
399
|
const hookResult = await hook.onRequest({
|
|
384
400
|
req,
|
|
401
|
+
requestInfo: copyTrustedRequestInfo(resolvedRequestInfo),
|
|
385
402
|
ports: finalPorts,
|
|
386
403
|
contract,
|
|
387
404
|
params: matchedParams,
|
|
@@ -405,7 +422,7 @@ export function createRequestExecutor(options, finalPorts, contextRuntime, hooks
|
|
|
405
422
|
if (optionsOverrides?.skipRoutePreparation) {
|
|
406
423
|
let createdCtx;
|
|
407
424
|
try {
|
|
408
|
-
createdCtx = await timeStage("contextMs", () => contextRuntime.createRequestContext(req, contract));
|
|
425
|
+
createdCtx = await timeStage("contextMs", () => contextRuntime.createRequestContext(req, contract, resolvedRequestInfo));
|
|
409
426
|
baseCtx = createdCtx;
|
|
410
427
|
}
|
|
411
428
|
catch (error) {
|
|
@@ -467,7 +484,7 @@ export function createRequestExecutor(options, finalPorts, contextRuntime, hooks
|
|
|
467
484
|
bodyValue = body;
|
|
468
485
|
let createdCtx;
|
|
469
486
|
try {
|
|
470
|
-
createdCtx = await timeStage("contextMs", () => contextRuntime.createRequestContext(req, contract));
|
|
487
|
+
createdCtx = await timeStage("contextMs", () => contextRuntime.createRequestContext(req, contract, resolvedRequestInfo));
|
|
471
488
|
baseCtx = createdCtx;
|
|
472
489
|
}
|
|
473
490
|
catch (error) {
|
|
@@ -515,6 +532,7 @@ export function createRequestExecutor(options, finalPorts, contextRuntime, hooks
|
|
|
515
532
|
try {
|
|
516
533
|
const hookResult = await hook.beforeHandle({
|
|
517
534
|
req,
|
|
535
|
+
requestInfo: copyTrustedRequestInfo(resolvedRequestInfo),
|
|
518
536
|
ctx: currentCtx,
|
|
519
537
|
contract,
|
|
520
538
|
path,
|
|
@@ -637,6 +655,7 @@ export function createRequestExecutor(options, finalPorts, contextRuntime, hooks
|
|
|
637
655
|
try {
|
|
638
656
|
await hook.afterSend({
|
|
639
657
|
req,
|
|
658
|
+
requestInfo: copyTrustedRequestInfo(resolvedRequestInfo),
|
|
640
659
|
ctx: result.ctx,
|
|
641
660
|
contract,
|
|
642
661
|
path: pathValue,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-executor.js","sourceRoot":"","sources":["../../src/server/request-executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"request-executor.js","sourceRoot":"","sources":["../../src/server/request-executor.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,UAAU,EACV,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,6BAA6B,EAE7B,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GAEf,MAAM,qBAAqB,CAAC;AAc7B,OAAO,EACL,wBAAwB,GAEzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EAEpB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EACjB,8BAA8B,EAE9B,gBAAgB,EAChB,gBAAgB,EAChB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,WAAW,EACX,mBAAmB,EACnB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,SAAS,uBAAuB,CAC9B,QAAsB,EACtB,aAAqB;IAErB,IAAI,aAAa,CAAC,WAAW,EAAE,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAC;IAE5D,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,QAAQ,CAAC;QAC5C,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5C,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;YACxB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,GAAG,QAAQ,CAAC;IAClD,OAAO,YAAY,CAAC;AACtB,CAAC;AAwCD,SAAS,sBAAsB,CAC7B,WAA2C;IAE3C,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACnC,OAAO;QACL,GAAG,WAAW;QACd,GAAG,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAKnC,OAAoC,EACpC,UAAsB,EACtB,cAQC,EACD,KAAoC,EACpC,aAAoD,EAAE,EACtD,gBAQC;IAMD,MAAM,4BAA4B,GAAG,IAAI,OAAO,EAAU,CAAC;IAC3D,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAElE,MAAM,cAAc,GAAG,KAAK,EAC1B,MAA+B,EAC/B,GAAoB,EACpB,gBAAyC,EACzC,EAAE;QACF,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAClD,IAAI,WAA2C,CAAC;QAChD,IAAI,OAAwB,CAAC;QAC7B,IAAI,SAAkD,CAAC;QACvD,IAAI,UAAoD,CAAC;QACzD,IAAI,YAAwD,CAAC;QAC7D,IAAI,SAAkD,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,uEAAuE;QACvE,2DAA2D;QAC3D,MAAM,MAAM,GAAwB;YAClC,WAAW,EAAE,CAAC;YACd,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,CAAC;YACZ,cAAc,EAAE,CAAC;YACjB,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC;SACV,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,EACrB,KAAgC,EAChC,GAAyB,EACb,EAAE;YACd,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,OAAO,MAAM,GAAG,EAAE,CAAC;YACrB,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;YACtD,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,kBAAkB,GAAG,KAAK,EAC9B,KAAc,EACd,GAAS,EACT,IAAkC,EAClC,KAAoC,EACpC,OAAwC,EACxC,IAAkC,EAClC,aAEC,EAC8B,EAAE;YACjC,IAAI,YAAY,GAAG,KAAK,CAAC;YAEzB,MAAM,iBAAiB,GAAG,KAAK,EAAE,MAAe,EAAE,EAAE;gBAClD,MAAM,IAAI,GAAG;oBACX,GAAG,EAAE,MAAM;oBACX,GAAG;oBACH,WAAW,EAAE,sBAAsB,CAAC,WAAW,CAAC;oBAChD,GAAG;oBACH,QAAQ;oBACR,IAAI;oBACJ,KAAK;oBACL,OAAO;oBACP,IAAI;iBACL,CAAC;gBACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC,aAAa;wBAAE,SAAS;oBAClC,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBACjC,CAAC;oBAAC,MAAM,CAAC;wBACP,+CAA+C;oBACjD,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC1B,IAAI,CAAC;wBACH,MAAM,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBACpC,CAAC;oBAAC,MAAM,CAAC;wBACP,+CAA+C;oBACjD,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAEtC,IAAI,YAAY,YAAY,8BAA8B,EAAE,CAAC;gBAC3D,OAAO;oBACL,GAAG;oBACH,QAAQ,EAAE,2BAA2B,CAAC,YAAY,CAAC;oBACnD,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,WAAW;iBACnB,CAAC;YACJ,CAAC;YAED,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7B,OAAO;oBACL,GAAG;oBACH,QAAQ,EAAE;wBACR,MAAM,EAAE,YAAY,CAAC,MAAM;wBAC3B,GAAG,CAAC,YAAY,CAAC,OAAO;4BACtB,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,EAAE;4BAC1C,CAAC,CAAC,EAAE,CAAC;wBACP,IAAI,EAAE,mBAAmB,CAAC,YAAY,CAAC;qBACxC;oBACD,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,OAAO;iBACvC,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,YAAY,qBAAqB,EAAE,CAAC;gBAClD,OAAO;oBACL,GAAG;oBACH,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC;oBACrE,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,WAAW;iBACnB,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,YAAY,mBAAmB,EAAE,CAAC;gBAChD,OAAO;oBACL,GAAG;oBACH,QAAQ,EAAE,aAAa,CACrB,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,IAAI,EACjB,YAAY,CAAC,OAAO,CACrB;oBACD,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,WAAW;iBACnB,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,YAAY,wBAAwB,EAAE,CAAC;gBACrD,OAAO;oBACL,GAAG;oBACH,QAAQ,EAAE,aAAa,CACrB,UAAU,CAAC,mBAAmB,CAAC,MAAM,EACrC,UAAU,CAAC,mBAAmB,CAAC,IAAI,EACnC,YAAY,CAAC,OAAO,EACpB;wBACE,SAAS,EAAE,YAAY,CAAC,SAAS;wBACjC,GAAG,EAAE,YAAY,CAAC,GAAG;qBACtB,CACF;oBACD,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,WAAW;iBACnB,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,YAAY,0BAA0B,EAAE,CAAC;gBACvD,OAAO;oBACL,GAAG;oBACH,QAAQ,EAAE,aAAa,CACrB,UAAU,CAAC,qBAAqB,CAAC,MAAM,EACvC,UAAU,CAAC,qBAAqB,CAAC,IAAI,EACrC,YAAY,CAAC,OAAO,EACpB;wBACE,SAAS,EAAE,YAAY,CAAC,SAAS;wBACjC,GAAG,EAAE,YAAY,CAAC,GAAG;qBACtB,CACF;oBACD,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,WAAW;iBACnB,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,YAAY,sBAAsB,EAAE,CAAC;gBACnD,OAAO;oBACL,GAAG;oBACH,QAAQ,EAAE,aAAa,CACrB,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,IAAI,EACjB,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,OAAO,CACrB;oBACD,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,WAAW;iBACnB,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,YAAY,wBAAwB,EAAE,CAAC;gBACrD,OAAO;oBACL,GAAG;oBACH,QAAQ,EAAE,aAAa,CACrB,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,IAAI,EACjB,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,OAAO,CACrB;oBACD,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,WAAW;iBACnB,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,iBAAiB;oBAAE,SAAS;gBACtC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;wBAC3C,GAAG,EAAE,YAAY;wBACjB,GAAG;wBACH,WAAW,EAAE,sBAAsB,CAAC,WAAW,CAAC;wBAChD,GAAG;wBACH,QAAQ;wBACR,IAAI;wBACJ,KAAK;wBACL,OAAO;wBACP,IAAI;qBACL,CAAC,CAAC;oBACH,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;wBAChD,OAAO;4BACL,GAAG;4BACH,QAAQ;4BACR,KAAK,EAAE,YAAY;4BACnB,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;yBAC/C,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,YAAY,GAAG,SAAS,CAAC;oBACzB,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC;wBAC9C,GAAG,EAAE,YAAY;wBACjB,GAAG;wBACH,WAAW,EAAE,sBAAsB,CAAC,WAAW,CAAC;wBAChD,GAAG;wBACH,QAAQ;wBACR,IAAI;wBACJ,KAAK;wBACL,OAAO;wBACP,IAAI;qBACL,CAAC,CAAC;oBACH,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;wBAChD,OAAO;4BACL,GAAG;4BACH,QAAQ;4BACR,KAAK,EAAE,YAAY;4BACnB,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;yBAC/C,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,YAAY,GAAG,SAAS,CAAC;oBACzB,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAED,OAAO;gBACL,GAAG;gBACH,QAAQ,EAAE,oBAAoB,CAAC,YAAY,EAAE,GAAG,CAAC;gBACjD,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,WAAW;aACnB,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,cAAc,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACnE,WAAW,GAAG,mBAAmB,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAE7B,IAAI,aAAqC,CAAC;YAC1C,IAAI,gBAAgB,EAAE,CAAC;gBACrB,aAAa,GAAG,gBAAgB,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACpE,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACrD,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC/C,MAAM,aAAa,GACjB,cAAc,KAAK,aAAa;oBAChC,CAAC,cAAc,KAAK,KAAK,IAAI,aAAa,KAAK,MAAM,CAAC,CAAC;gBACzD,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC1C,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;gBACtD,CAAC;gBACD,IAAI,CAAC;oBACH,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC5D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;wBACrC,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC;oBAClE,CAAC;oBACD,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YACD,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEvD,MAAM,mBAAmB,GAAG,KAAK,EAC/B,aAAmC,EACnC,cAAwB,EACL,EAAE;gBACrB,MAAM,YAAY,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBACtD,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;gBACnD,IAAI,WAAW,GAAG,YAAY,CAAC;gBAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC,UAAU;wBAAE,SAAS;oBAC/B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;wBACzC,GAAG;wBACH,WAAW,EAAE,sBAAsB,CAAC,mBAAmB,CAAC;wBACxD,GAAG,EAAE,aAAa,CAAC,GAAG;wBACtB,QAAQ;wBACR,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,UAAU;wBACjB,OAAO,EAAE,YAAY;wBACrB,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE,WAAW;wBACrB,KAAK,EAAE,aAAa,CAAC,KAAK;wBAC1B,MAAM,EAAE,IAAI;qBACb,CAAC,CAAC;oBACH,IAAI,YAAY,EAAE,CAAC;wBACjB,IACE,CAAC,YAAY,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;4BAC5C,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC;4BAClC,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC;4BACvC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EACrC,CAAC;4BACD,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BACvC,OAAO,CAAC,IAAI,CACV,8BAA8B,IAAI,CAAC,IAAI,IAAI,aAAa,oEAAoE,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,yFAAyF,CACtP,CAAC;wBACJ,CAAC;wBACD,WAAW,GAAG;4BACZ,MAAM,EAAE,cAAc,CAAC,MAAM;4BAC7B,OAAO,EAAE,YAAY,CAAC,OAAO;yBAC9B,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,OAAO,0BAA0B,CAC/B,cAAc,EACd,eAAe,EACf,WAAW,CAAC,OAAO,IAAI,EAAE,CAC1B,CAAC;YACJ,CAAC,CAAC;YAEF,MAAM,mBAAmB,GAAG,KAAK,EAC/B,aAAmC,EACnC,UAAmB,EACY,EAAE;gBACjC,IAAI,CAAC;oBACH,IAAI,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC1C,OAAO;4BACL,GAAG,aAAa;4BAChB,QAAQ,EAAE,MAAM,mBAAmB,CACjC,aAAa,EACb,aAAa,CAAC,QAAQ,CACvB;yBACF,CAAC;oBACJ,CAAC;oBAED,IAAI,WAAW,GAAG,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,IAAI,CAAC,UAAU;4BAAE,SAAS;wBAC/B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;4BACzC,GAAG;4BACH,WAAW,EAAE,sBAAsB,CAAC,mBAAmB,CAAC;4BACxD,GAAG,EAAE,aAAa,CAAC,GAAG;4BACtB,QAAQ;4BACR,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,UAAU;4BACjB,OAAO,EAAE,YAAY;4BACrB,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,WAAW;4BACrB,KAAK,EAAE,aAAa,CAAC,KAAK;yBAC3B,CAAC,CAAC;wBACH,IAAI,YAAY,EAAE,CAAC;4BACjB,WAAW,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;wBAChD,CAAC;oBACH,CAAC;oBACD,OAAO;wBACL,GAAG,aAAa;wBAChB,QAAQ,EAAE,WAAW;qBACtB,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACrC,KAAK,EACL,aAAa,CAAC,GAAG,EACjB,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;oBACF,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,OAAO,MAAM,CAAC;oBAChB,CAAC;oBACD,OAAO,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,2BAA2B,GAAG,KAAK,EACvC,aAAmC,EACnC,UAAmB,EACnB,kBAAoD,EACrB,EAAE;gBACjC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC/D,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACvC,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;gBAE9D,IAAI,CAAC;oBACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,SAAS,GAAG,wBAAwB,CAAM,IAAI,CAAC,CAAC;wBACtD,IAAI,CAAC,SAAS;4BAAE,SAAS;wBACzB,MAAM,SAAS,CAAC;4BACd,GAAG;4BACH,GAAG,EAAE,aAAa,CAAC,GAAG;4BACtB,QAAQ;4BACR,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,UAAU;4BACjB,OAAO,EAAE,YAAY;4BACrB,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC;4BACpC,KAAK,EAAE,aAAa,CAAC,KAAK;4BAC1B,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;4BACjC,KAAK;4BACL,kBAAkB;yBACnB,CAAC,CAAC;oBACL,CAAC;oBAED,OAAO;wBACL,GAAG,aAAa;wBAChB,QAAQ;qBACT,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACrC,KAAK,EACL,aAAa,CAAC,GAAG,EACjB,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;oBACF,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,OAAO,MAAM,CAAC;oBAChB,CAAC;oBACD,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC5D,OAAO,2BAA2B,CAChC,WAAW,EACX,KAAK,EACL,gBAAgB,CACjB,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,MAAwC,CAAC;YAE7C,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,SAAS;oBAAE,SAAS;gBAC9B,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC;wBACtC,GAAG;wBACH,WAAW,EAAE,sBAAsB,CAAC,mBAAmB,CAAC;wBACxD,KAAK,EAAE,UAAU;wBACjB,QAAQ;wBACR,MAAM,EAAE,aAAa;qBACtB,CAAC,CAAC;oBACH,IAAI,UAAU,EAAE,CAAC;wBACf,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;wBACnD,MAAM,GAAG;4BACP,QAAQ;4BACR,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;yBAC/C,CAAC;wBACF,MAAM;oBACR,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,GAAG,MAAM,kBAAkB,CAC/B,KAAK,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;oBACF,MAAM;gBACR,CAAC;YACH,CAAC;YACD,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC;YAE5D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;oBAC3C,IAAI,UAAgB,CAAC;oBACrB,IAAI,CAAC;wBACH,UAAU,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,CAC7C,cAAc,CAAC,oBAAoB,CACjC,GAAG,EACH,QAAQ,EACR,mBAAmB,CACpB,CACF,CAAC;wBACF,OAAO,GAAG,UAAU,CAAC;oBACvB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,GAAG,MAAM,kBAAkB,CAC/B,KAAK,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;oBACJ,CAAC;oBAED,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,IAAI,CAAC;4BACH,MAAM,GAAG;gCACP,GAAG,EAAE,UAAU;gCACf,QAAQ,EAAE,qBAAqB,CAC7B,MAAM,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,CAChC,WAAW,CAAC;oCACV,GAAG;oCACH,GAAG,EAAE,UAAU;oCACf,QAAQ;oCACR,IAAI,EAAE,EAAiC;oCACvC,KAAK,EAAE,EAAkC;oCACzC,OAAO,EAAE,UAA4C;oCACrD,IAAI,EAAE,SAAwC;iCAC/C,CAAC,CACH,CACF;gCACD,KAAK,EAAE,WAAW;6BACnB,CAAC;wBACJ,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM,GAAG,MAAM,kBAAkB,CAC/B,KAAK,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;oBACzC,IAAI,IAAI,GAAG,SAAoD,CAAC;oBAChE,IAAI,KAAK,GAAG,SAAqD,CAAC;oBAClE,IAAI,OAAO,GAAG,SAAuD,CAAC;oBACtE,IAAI,IAAI,GAAG,SAAoD,CAAC;oBAChE,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC;wBAC1C,QAAQ;wBACR,GAAG;wBACH,GAAG;wBACH,UAAU;wBACV,aAAa;wBACb,mBAAmB;wBACnB,QAAQ,EAAE,gBAAgB,EAAE,QAAQ;qBACrC,CAAC,CAAC;oBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACjB,MAAM,GAAG;4BACP,QAAQ,EAAE,QAAQ,CAAC,QAAQ;4BAC3B,KAAK,EAAE,WAAW;yBACnB,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAmC,CAAC;wBAC3D,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAqC,CAAC;wBAC9D,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAyC,CAAC;wBACpE,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAmC,CAAC;oBAC7D,CAAC;oBACD,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;oBAEpD,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,SAAS,GAAG,IAAI,CAAC;wBACjB,UAAU,GAAG,KAAK,CAAC;wBACnB,YAAY,GAAG,OAAO,CAAC;wBACvB,SAAS,GAAG,IAAI,CAAC;wBAEjB,IAAI,UAAgB,CAAC;wBACrB,IAAI,CAAC;4BACH,UAAU,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,CAC7C,cAAc,CAAC,oBAAoB,CACjC,GAAG,EACH,QAAQ,EACR,mBAAmB,CACpB,CACF,CAAC;4BACF,OAAO,GAAG,UAAU,CAAC;wBACvB,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM,GAAG,MAAM,kBAAkB,CAC/B,KAAK,EACL,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;wBACJ,CAAC;wBAED,IAAI,CAAC,MAAM,EAAE,CAAC;4BACZ,MAAM,QAAQ,GAAwB;gCACpC,GAAG;gCACH,GAAG,EAAE,UAAU;gCACf,QAAQ;gCACR,IAAI,EAAE,IAAmC;gCACzC,KAAK,EAAE,KAAqC;gCAC5C,OAAO,EAAE,OAAyC;gCAClD,IAAI,EAAE,IAAmC;6BAC1C,CAAC;4BAEF,IAAI,UAAU,GAAG,UAAU,CAAC;4BAC5B,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;4BAChD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gCAC9B,IAAI,CAAC;oCACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;wCACnC,GAAG;wCACH,GAAG,EAAE,UAAU;wCACf,QAAQ;wCACR,IAAI;wCACJ,KAAK;wCACL,OAAO;wCACP,IAAI;qCACL,CAAC,CAAC;oCACH,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;wCAC/C,UAAU,GAAG,cAAc,CAAC,eAAe,CAAC;4CAC1C,GAAI,UAAqB;4CACzB,GAAG,SAAS;yCACN,CAAC,CAAC;oCACZ,CAAC;gCACH,CAAC;gCAAC,OAAO,KAAK,EAAE,CAAC;oCACf,MAAM,GAAG,MAAM,kBAAkB,CAC/B,KAAK,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;oCACF,MAAM;gCACR,CAAC;4BACH,CAAC;4BAED,IAAI,CAAC,MAAM,EAAE,CAAC;gCACZ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oCACzB,IAAI,CAAC,IAAI,CAAC,YAAY;wCAAE,SAAS;oCACjC,IAAI,CAAC;wCACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;4CACzC,GAAG;4CACH,WAAW,EAAE,sBAAsB,CAAC,mBAAmB,CAAC;4CACxD,GAAG,EAAE,UAAU;4CACf,QAAQ;4CACR,IAAI;4CACJ,KAAK;4CACL,OAAO;4CACP,IAAI;yCACL,CAAC,CAAC;wCACH,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;4CAC9B,MAAM,GAAG;gDACP,GAAG,EAAE,UAAU;gDACf,QAAQ,EAAE,UAAU;gDACpB,KAAK,EAAE,WAAW;6CACnB,CAAC;4CACF,MAAM;wCACR,CAAC;wCACD,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;4CACnC,MAAM,GAAG;gDACP,GAAG,EAAE,UAAU;gDACf,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC;gDACvC,KAAK,EAAE,WAAW;6CACnB,CAAC;4CACF,MAAM;wCACR,CAAC;wCACD,IAAI,UAAU,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;4CAClC,UAAU,GAAG,cAAc,CAAC,eAAe,CACzC,UAAU,CAAC,GAAG,CACf,CAAC;wCACJ,CAAC;wCACD,IAAI,UAAU,EAAE,QAAQ,EAAE,CAAC;4CACzB,MAAM,QAAQ,GAAG,qBAAqB,CACpC,UAAU,CAAC,QAAQ,CACpB,CAAC;4CACF,MAAM,GAAG;gDACP,GAAG,EAAE,UAAU;gDACf,QAAQ;gDACR,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;6CAC/C,CAAC;4CACF,MAAM;wCACR,CAAC;oCACH,CAAC;oCAAC,OAAO,KAAK,EAAE,CAAC;wCACf,MAAM,GAAG,MAAM,kBAAkB,CAC/B,KAAK,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;wCACF,MAAM;oCACR,CAAC;gCACH,CAAC;4BACH,CAAC;4BACD,MAAM,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,qBAAqB,CAAC;4BAElE,IAAI,CAAC,MAAM,EAAE,CAAC;gCACZ,0DAA0D;gCAC1D,qDAAqD;gCACrD,4DAA4D;gCAC5D,YAAY;gCACZ,wBAAwB,CAAC;oCACvB,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC;oCACnC,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC;iCACtC,CAAC,CAAC;gCACH,IAAI,CAAC;oCACH,MAAM,GAAG;wCACP,GAAG,EAAE,UAAU;wCACf,QAAQ,EAAE,qBAAqB,CAC7B,MAAM,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,CAChC,WAAW,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAC9C,CACF;qCACF,CAAC;gCACJ,CAAC;gCAAC,OAAO,KAAK,EAAE,CAAC;oCACf,MAAM,GAAG,MAAM,kBAAkB,CAC/B,KAAK,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,CACV,CAAC;gCACJ,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YACxC,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAEjD,IAAI,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;YAC9B,IAAI,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,kBAAkB,GACpB,gBAAgB,CAAC;YACnB,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC5D,MAAM,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC;gBAC3D,IAAI,CAAC;oBACH,aAAa,GAAG,MAAM,gBAAgB,CACpC,QAAQ,EACR,aAAa,EACb,MAAM,CAAC,8BAA8B,EACrC,EAAE,gBAAgB,EAAE,CACrB,CAAC;oBACF,MAAM,GAAG;wBACP,GAAG,MAAM;wBACT,QAAQ,EAAE,aAAa;qBACxB,CAAC;oBACF,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;gBACnE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,8BAA8B,EAAE,CAAC;wBACpD,MAAM,GAAG;4BACP,GAAG,EAAE,MAAM,CAAC,GAAG;4BACf,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC;4BAC5C,KAAK;4BACL,KAAK,EAAE,WAAW;yBACnB,CAAC;wBACF,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACvD,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;wBAC1B,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC3D,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;wBACjD,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACvD,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;wBAC1B,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC3D,kBAAkB,GAAG,gBAAgB,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,GAAG,MAAM,2BAA2B,CACxC,MAAM,EACN,IAAI,EACJ,kBAAkB,CACnB,CAAC;YACF,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvD,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;YAC1B,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAE3D,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClC,aAAa,GAAG,6BAA6B,CAC3C,aAAa,EACb,UAAU,CACX,CAAC;YACJ,CAAC;YACD,aAAa,GAAG,4BAA4B,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACtE,aAAa,GAAG,uBAAuB,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACnE,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;YAElD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC1C,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,SAAS;oBAAE,SAAS;gBAC9B,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,SAAS,CAAC;wBACnB,GAAG;wBACH,WAAW,EAAE,sBAAsB,CAAC,mBAAmB,CAAC;wBACxD,GAAG,EAAE,MAAM,CAAC,GAAG;wBACf,QAAQ;wBACR,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,UAAU;wBACjB,OAAO,EAAE,YAAY;wBACrB,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE,gBAAgB,CAAC,aAAa,CAAC;wBACzC,KAAK,EAAE,UAAU;wBACjB,UAAU;wBACV,MAAM,EAAE,YAAY;qBACrB,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,8EAA8E;gBAChF,CAAC;YACH,CAAC;YAED,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACrC,KAAK,EACL,OAAO,EACP,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT;gBACE,KAAK,EAAE,WAAW;aACnB,CACF,CAAC;YACF,MAAM,QAAQ,GAAG,uBAAuB,CACtC,4BAA4B,CAC1B,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,EACtC,QAAQ,CACT,EACD,GAAG,CAAC,MAAM,CACX,CAAC;YACF,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,OAAO,6BAA6B,CAClC,QAAQ,EACR,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CACzC,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,KAAK,EACV,MAA+B,EAC/B,GAAoB,EACpB,gBAAyC,EACzC,EAAE;QACF,MAAM,OAAO,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,sBAAsB,GAC1B,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;QAC1E,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;YACrB,IAAI,CAAC;gBACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,CAAC,GAAG,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,OAAO,GAAG,CACd,sBAAsB,EAAE,WAAW,IAAI,CAAC,eAAe,CAAC,CACzD,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAChB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9C,OAAO,QAAQ,KAAK,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;YACxB,OAAO,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,kBAAkB,GACtB,sBAAsB,EAAE,kBAAkB,IAAI,aAAa,CAAC;QAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,iBAAiB,GACrB,kBAAkB,KAAK,KAAK;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAkC,MAAM;YAClD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,iBAAiB;gBAClB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC;oBACE,WAAW,EAAE,iBAAiB,CAAC,WAAW;oBAC1C,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS;iBACvD,CAAC;QACR,MAAM,eAAe,GAAG;YACtB,uBAAuB,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;YAC7C,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE;YAC/C,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;SAC1B,CAAC;QAEX,OAAO,MAAM,cAAc,CACzB,OAAO,EACP;YACE,IAAI,EAAE,mBAAmB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC/C,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;YACpC,MAAM;YACN,UAAU,EAAE,eAAe;YAC3B,gBAAgB,EAAE,eAAe;SAClC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;YACrE,IAAI,EAAE,YAAY,CAAC,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjE,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG;gBAAE,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;YACrD,OAAO,QAAQ,CAAC;QAClB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAe;IAEf,MAAM,MAAM,GAAG,KAAsC,CAAC;IACtD,IAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAElE,MAAM,eAAe,GAAG,6BAA6B,CAAC,MAAM,EAAE;QAC5D,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;IACH,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,eAAe,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,QAAQ,KAAK,CAAC,IAAI,EAAE;YAC1B,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW;YACtD,OAAO,EAAE,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,IAAI,EAAE;YAC/C,OAAO,EAAE;gBACP,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;oBAChC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE;oBAClC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1C;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAK1B,OAAoC,EACpC,UAAsB,EACtB,cAQC,EACD,QAAW,EACX,WAA4B,EAC5B,KAAoC,EACpC,aAAoD,EAAE,EACtD,gBAQC,EACD,8BAAuC;IAKvC,MAAM,OAAO,GAAG,qBAAqB,CACnC,OAAO,EACP,UAAU,EACV,cAAc,EACd,KAAK,EACL,UAAU,EACV,gBAAgB,CACjB,CAAC;IACF,MAAM,eAAe,GAA4B;QAC/C,QAAQ;QACR,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpC,OAAO,EAAE,WAAW;QACpB,8BAA8B;KAC/B,CAAC;IAEF,yEAAyE;IACzE,mDAAmD;IACnD,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,EAAE,CAC/B,gBAAgB,CAAC,EAAE,MAAM,EAAE,uBAAuB,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,CACrE,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAChD,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA2B;IACpD,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC/D,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;QACtC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;QAC9B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;QAClC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC;QAC5C,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;QAClC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;KAC7B,CAAC;AACJ,CAAC"}
|
|
@@ -15,10 +15,11 @@ import type { ServerContextConfig } from "./context.js";
|
|
|
15
15
|
* // server/context.ts
|
|
16
16
|
* export const appContext = defineServerContext<AppContext, AppPorts>()({
|
|
17
17
|
* gate: (ports) => ports.gate,
|
|
18
|
-
* request: async ({ req, ports, requestId, trace }) => ({
|
|
18
|
+
* request: async ({ req, ports, requestId, requestInfo, trace }) => ({
|
|
19
19
|
* actor: await resolveActor(req),
|
|
20
20
|
* auth: null,
|
|
21
21
|
* requestId,
|
|
22
|
+
* requestInfo,
|
|
22
23
|
* ...trace,
|
|
23
24
|
* ports,
|
|
24
25
|
* }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-context.d.ts","sourceRoot":"","sources":["../../src/server/server-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD
|
|
1
|
+
{"version":3,"file":"server-context.d.ts","sourceRoot":"","sources":["../../src/server/server-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,KAAK,SAAS,QAAQ,GAAG,QAAQ,KAAK,CAC7E,YAAY,GAAG,IAAI,EAEnB,SAAS,EAAE,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,KACrD,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,CAEjD"}
|
|
@@ -13,10 +13,11 @@
|
|
|
13
13
|
* // server/context.ts
|
|
14
14
|
* export const appContext = defineServerContext<AppContext, AppPorts>()({
|
|
15
15
|
* gate: (ports) => ports.gate,
|
|
16
|
-
* request: async ({ req, ports, requestId, trace }) => ({
|
|
16
|
+
* request: async ({ req, ports, requestId, requestInfo, trace }) => ({
|
|
17
17
|
* actor: await resolveActor(req),
|
|
18
18
|
* auth: null,
|
|
19
19
|
* requestId,
|
|
20
|
+
* requestInfo,
|
|
20
21
|
* ...trace,
|
|
21
22
|
* ports,
|
|
22
23
|
* }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-context.js","sourceRoot":"","sources":["../../src/server/server-context.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"server-context.js","sourceRoot":"","sources":["../../src/server/server-context.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,mBAAmB;IAKjC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC;AAClC,CAAC"}
|