@nifrajs/core 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/dist/durable-adapters.d.ts.map +1 -1
- package/dist/durable-adapters.js +26 -3
- package/dist/durable-adapters.js.map +1 -1
- package/dist/durable-approval.d.ts +56 -0
- package/dist/durable-approval.d.ts.map +1 -0
- package/dist/durable-approval.js +233 -0
- package/dist/durable-approval.js.map +1 -0
- package/dist/durable-effect.d.ts +42 -0
- package/dist/durable-effect.d.ts.map +1 -0
- package/dist/durable-effect.js +234 -0
- package/dist/durable-effect.js.map +1 -0
- package/dist/durable-execution.d.ts +8 -346
- package/dist/durable-execution.d.ts.map +1 -1
- package/dist/durable-execution.js +7 -1150
- package/dist/durable-execution.js.map +1 -1
- package/dist/durable-saga.d.ts +94 -0
- package/dist/durable-saga.d.ts.map +1 -0
- package/dist/durable-saga.js +550 -0
- package/dist/durable-saga.js.map +1 -0
- package/dist/edge-kit.d.ts +2 -2
- package/dist/edge-kit.d.ts.map +1 -1
- package/dist/edge-kit.js +2 -2
- package/dist/edge-kit.js.map +1 -1
- package/dist/index.d.ts +23 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -2
- package/dist/index.js.map +1 -1
- package/dist/internal/durable-approval-protocol.d.ts +1 -1
- package/dist/internal/durable-approval-protocol.d.ts.map +1 -1
- package/dist/internal/durable-effect-protocol.d.ts +1 -1
- package/dist/internal/durable-effect-protocol.d.ts.map +1 -1
- package/dist/internal/durable-saga-protocol.d.ts +1 -1
- package/dist/internal/durable-saga-protocol.d.ts.map +1 -1
- package/dist/internal/durable-shared.d.ts +26 -0
- package/dist/internal/durable-shared.d.ts.map +1 -0
- package/dist/internal/durable-shared.js +131 -0
- package/dist/internal/durable-shared.js.map +1 -0
- package/dist/internal/durable-types.d.ts +159 -0
- package/dist/internal/durable-types.d.ts.map +1 -0
- package/dist/internal/durable-types.js +2 -0
- package/dist/internal/durable-types.js.map +1 -0
- package/dist/internal/route-compiler.d.ts +61 -0
- package/dist/internal/route-compiler.d.ts.map +1 -0
- package/dist/internal/route-compiler.js +121 -0
- package/dist/internal/route-compiler.js.map +1 -0
- package/dist/internal/route-execution.d.ts +6 -4
- package/dist/internal/route-execution.d.ts.map +1 -1
- package/dist/internal/route-execution.js +2 -17
- package/dist/internal/route-execution.js.map +1 -1
- package/dist/internal/route-lanes.d.ts +35 -0
- package/dist/internal/route-lanes.d.ts.map +1 -0
- package/dist/internal/route-lanes.js +150 -0
- package/dist/internal/route-lanes.js.map +1 -0
- package/dist/internal/route-program.d.ts +67 -0
- package/dist/internal/route-program.d.ts.map +1 -0
- package/dist/internal/route-program.js +199 -0
- package/dist/internal/route-program.js.map +1 -0
- package/dist/server/bare-error-lane.d.ts +1 -1
- package/dist/server/bare-error-lane.d.ts.map +1 -1
- package/dist/server/bare-error-lane.js +3 -3
- package/dist/server/bare-error-lane.js.map +1 -1
- package/dist/server/body-lane.d.ts +13 -0
- package/dist/server/body-lane.d.ts.map +1 -0
- package/dist/server/body-lane.js +134 -0
- package/dist/server/body-lane.js.map +1 -0
- package/dist/server/contract.d.ts +40 -14
- package/dist/server/contract.d.ts.map +1 -1
- package/dist/server/contract.js +7 -0
- package/dist/server/contract.js.map +1 -1
- package/dist/server/cookies.d.ts.map +1 -1
- package/dist/server/cookies.js +16 -2
- package/dist/server/cookies.js.map +1 -1
- package/dist/server/plugin.d.ts +2 -2
- package/dist/server/plugin.d.ts.map +1 -1
- package/dist/server/plugin.js +6 -1
- package/dist/server/plugin.js.map +1 -1
- package/dist/server/registry.d.ts +40 -12
- package/dist/server/registry.d.ts.map +1 -1
- package/dist/server/request-context.d.ts +4 -28
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/request-context.js +10 -185
- package/dist/server/request-context.js.map +1 -1
- package/dist/server/respond.d.ts.map +1 -1
- package/dist/server/respond.js +39 -2
- package/dist/server/respond.js.map +1 -1
- package/dist/server/runtime-core.d.ts +18 -2
- package/dist/server/runtime-core.d.ts.map +1 -1
- package/dist/server/runtime-core.js +0 -23
- package/dist/server/runtime-core.js.map +1 -1
- package/dist/server/server-types.d.ts +3 -0
- package/dist/server/server-types.d.ts.map +1 -1
- package/dist/server/server.d.ts +113 -84
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +506 -639
- package/dist/server/server.js.map +1 -1
- package/dist/server/validation.d.ts +5 -0
- package/dist/server/validation.d.ts.map +1 -0
- package/dist/server/validation.js +13 -0
- package/dist/server/validation.js.map +1 -0
- package/dist/server/ws-bun.d.ts +11 -3
- package/dist/server/ws-bun.d.ts.map +1 -1
- package/dist/server/ws-bun.js +42 -12
- package/dist/server/ws-bun.js.map +1 -1
- package/dist/server/ws-hook.d.ts +3 -2
- package/dist/server/ws-hook.d.ts.map +1 -1
- package/dist/server.d.ts +2 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/single-copy.d.ts.map +1 -1
- package/dist/single-copy.js +3 -1
- package/dist/single-copy.js.map +1 -1
- package/package.json +6 -3
- package/src/durable-adapters.ts +20 -0
- package/src/durable-approval.ts +281 -0
- package/src/durable-effect.ts +300 -0
- package/src/durable-execution.ts +8 -1627
- package/src/durable-saga.ts +744 -0
- package/src/edge-kit.ts +2 -2
- package/src/index.ts +129 -2
- package/src/internal/durable-approval-protocol.ts +1 -1
- package/src/internal/durable-effect-protocol.ts +1 -1
- package/src/internal/durable-saga-protocol.ts +1 -1
- package/src/internal/durable-shared.ts +157 -0
- package/src/internal/durable-types.ts +194 -0
- package/src/internal/route-compiler.ts +234 -0
- package/src/internal/route-execution.ts +34 -84
- package/src/internal/route-lanes.ts +221 -0
- package/src/internal/route-program.ts +404 -0
- package/src/server/bare-error-lane.ts +3 -2
- package/src/server/body-lane.ts +203 -0
- package/src/server/contract.ts +70 -20
- package/src/server/cookies.ts +16 -2
- package/src/server/plugin.ts +11 -5
- package/src/server/registry.ts +71 -16
- package/src/server/request-context.ts +7 -262
- package/src/server/respond.ts +45 -2
- package/src/server/runtime-core.ts +28 -2
- package/src/server/server-types.ts +3 -0
- package/src/server/server.ts +1152 -1260
- package/src/server/validation.ts +19 -0
- package/src/server/ws-bun.ts +44 -11
- package/src/server/ws-hook.ts +3 -2
- package/src/server.ts +7 -2
- package/src/single-copy.ts +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/server/contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAe,MAAM,qBAAqB,CAAA;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAG3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/server/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../src/server/cookies.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAA;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAA;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAC/B;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAO5E;AAuBD;;;;;4DAK4D;AAC5D,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA6CtF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAuDhG;
|
|
1
|
+
{"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../src/server/cookies.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAA;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAA;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAC/B;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAO5E;AAuBD;;;;;4DAK4D;AAC5D,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA6CtF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAuDhG;AAqDD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAA;AASrD;6EAC6E;AAC7E,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAIpF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoB9F"}
|
package/dist/server/cookies.js
CHANGED
|
@@ -182,11 +182,25 @@ const toBase64Url = (buf) => {
|
|
|
182
182
|
bin += String.fromCharCode(bytes[i]);
|
|
183
183
|
return btoa(bin).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
184
184
|
};
|
|
185
|
+
const BASE64URL_ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
|
|
186
|
+
const BASE64URL_RE = /^[A-Za-z0-9_-]+$/;
|
|
185
187
|
// Returns `Uint8Array<ArrayBuffer>` (not the generic `Uint8Array<ArrayBufferLike>`) so it satisfies
|
|
186
|
-
// WebCrypto's `BufferSource` parameter under TS 5.7+'s typed-array generics.
|
|
188
|
+
// WebCrypto's `BufferSource` parameter under TS 5.7+'s typed-array generics. Reject non-canonical
|
|
189
|
+
// encodings: base64 decoders otherwise accept alternate final characters whose unused padding bits
|
|
190
|
+
// decode to the same bytes, which lets a visibly changed signed cookie verify as if it were original.
|
|
187
191
|
const fromBase64Url = (s) => {
|
|
192
|
+
if (s.length === 0 || s.length % 4 === 1 || !BASE64URL_RE.test(s))
|
|
193
|
+
return null;
|
|
194
|
+
const remainder = s.length % 4;
|
|
195
|
+
const last = BASE64URL_ALPHABET.indexOf(s[s.length - 1]);
|
|
196
|
+
// Two or three base64 characters leave four or two unused low bits respectively. The encoder above
|
|
197
|
+
// always emits those bits as zero; accepting anything else creates a second spelling of the same
|
|
198
|
+
// byte sequence.
|
|
199
|
+
if ((remainder === 2 && (last & 0x0f) !== 0) || (remainder === 3 && (last & 0x03) !== 0))
|
|
200
|
+
return null;
|
|
188
201
|
try {
|
|
189
|
-
const
|
|
202
|
+
const padded = s + "=".repeat((4 - remainder) % 4);
|
|
203
|
+
const bin = atob(padded.replace(/-/g, "+").replace(/_/g, "/"));
|
|
190
204
|
const bytes = new Uint8Array(bin.length);
|
|
191
205
|
for (let i = 0; i < bin.length; i++)
|
|
192
206
|
bytes[i] = bin.charCodeAt(i);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookies.js","sourceRoot":"","sources":["../../src/server/cookies.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cookies.js","sourceRoot":"","sources":["../../src/server/cookies.ts"],"names":[],"mappings":"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"}
|
package/dist/server/plugin.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export type NifraPlugin<In extends AnyServer = AnyServer, Out extends AnyServer
|
|
|
21
21
|
* server type it receives, preserving the caller's typed registry and context across `.use()` while
|
|
22
22
|
* still allowing the plugin to register runtime hooks or handlers.
|
|
23
23
|
*/
|
|
24
|
-
export type IdentityPlugin = (<
|
|
24
|
+
export type IdentityPlugin<AddedHookOutput = never> = (<R extends Registry, Ctx, HookOutput>(app: Server<R, Ctx, HookOutput>) => Server<R, Ctx, HookOutput | AddedHookOutput>) & {
|
|
25
25
|
readonly pluginName?: string;
|
|
26
26
|
};
|
|
27
27
|
/**
|
|
@@ -112,7 +112,7 @@ export declare function definePlugin<In extends AnyServer, Out extends AnyServer
|
|
|
112
112
|
* const api = server().get("/a", h).use(audit).get("/b", h) // /a AND /b stay typed
|
|
113
113
|
* ```
|
|
114
114
|
*/
|
|
115
|
-
export declare function defineIdentityPlugin(name: string, apply: <S extends AnyServer>(app: S) => S): IdentityPlugin
|
|
115
|
+
export declare function defineIdentityPlugin<AddedHookOutput = never>(name: string, apply: <S extends AnyServer>(app: S) => S | AnyServer): IdentityPlugin<AddedHookOutput>;
|
|
116
116
|
/**
|
|
117
117
|
* Alias of {@link defineIdentityPlugin} with a name that says what it's FOR: a plugin that **mounts
|
|
118
118
|
* routes/hooks but adds no context type** (an auth router, an audit logger). Use this - not
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/server/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpD;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,CAAC,EAAE,SAAS,SAAS,GAAG,SAAS,EAAE,GAAG,SAAS,SAAS,GAAG,EAAE,IAAI,CAAC,CACvF,GAAG,EAAE,EAAE,KACJ,GAAG,CAAC,GAAG;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5C;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/server/plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/server/plugin.js
CHANGED
|
@@ -35,7 +35,12 @@ export function definePlugin(name, apply) {
|
|
|
35
35
|
* const api = server().get("/a", h).use(audit).get("/b", h) // /a AND /b stay typed
|
|
36
36
|
* ```
|
|
37
37
|
*/
|
|
38
|
-
export function defineIdentityPlugin(name,
|
|
38
|
+
export function defineIdentityPlugin(name,
|
|
39
|
+
// The runtime identity plugin may install lifecycle hooks whose richer type is intentionally not
|
|
40
|
+
// threaded through this legacy identity seam. Accept the resulting server here so existing
|
|
41
|
+
// middleware remains source-compatible; direct typed hooks and future typed middleware can use the
|
|
42
|
+
// concrete Server return type without forcing every identity plugin to become response-aware.
|
|
43
|
+
apply) {
|
|
39
44
|
return Object.assign(apply, { pluginName: name });
|
|
40
45
|
}
|
|
41
46
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/server/plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/server/plugin.ts"],"names":[],"mappings":"AAyCA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,KAA2E;IAE3E,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAqB,CAAA;AACvE,CAAC;AA8DD,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,KAAoC;IAEpC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;AACnD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAY;AACZ,iGAAiG;AACjG,2FAA2F;AAC3F,mGAAmG;AACnG,8FAA8F;AAC9F,KAAqD;IAErD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAoC,CAAA;AACtF,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAgC,oBAAoB,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { BinaryResponse, RawResponse } from "../binary.js";
|
|
2
2
|
import type { InferInput, InferOutput, StandardSchemaV1 } from "../schema/standard.js";
|
|
3
3
|
import type { Params, RouteSchema } from "./context.js";
|
|
4
|
+
import type { StatusResponse } from "./runtime-core.js";
|
|
4
5
|
/**
|
|
5
6
|
* One route's input/output shape as the **client** will consume it. `query`/`body`
|
|
6
7
|
* are `never` when the route declares no schema for them, so the client can detect
|
|
@@ -12,6 +13,8 @@ export interface RouteInfo {
|
|
|
12
13
|
readonly query: unknown;
|
|
13
14
|
readonly body: unknown;
|
|
14
15
|
readonly output: unknown;
|
|
16
|
+
/** The complete inferred/declared status-keyed response map. */
|
|
17
|
+
readonly responses?: unknown;
|
|
15
18
|
/** The route's declared error bodies as a status-keyed record (from `schema.errors`, e.g.
|
|
16
19
|
* `{ 404: NotFound }`); `unknown` when the route declares none. The typed client turns this into
|
|
17
20
|
* a status-discriminated failure union. */
|
|
@@ -38,30 +41,55 @@ type RegistryBody<S extends RouteSchema> = S extends {
|
|
|
38
41
|
type RegistryQuery<S extends RouteSchema> = S extends {
|
|
39
42
|
query: infer Q extends StandardSchemaV1;
|
|
40
43
|
} ? InferInput<Q> : never;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
type
|
|
44
|
+
type StatusCodeOf<Output> = Output extends StatusResponse<infer Code, unknown> ? (number extends Code ? never : Code) : never;
|
|
45
|
+
type StatusBodyAt<Output, Code extends number> = Output extends StatusResponse<infer Actual, infer Body> ? Code extends Actual ? Body : never : never;
|
|
46
|
+
type IsSuccessCode<Code extends number> = `${Code}` extends `2${string}` ? true : false;
|
|
47
|
+
type EmptyResponseMap = NonNullable<unknown>;
|
|
48
|
+
type StatusBodies<Output, Codes extends number = StatusCodeOf<Output>> = [Codes] extends [never] ? EmptyResponseMap : {
|
|
49
|
+
[Code in Codes]: StatusBodyAt<Output, Code>;
|
|
50
|
+
};
|
|
51
|
+
/** A dynamic status code cannot be classified as success or failure; expose an opaque success arm
|
|
52
|
+
* rather than guessing a status or body schema. Explicit route schemas still override this fallback. */
|
|
53
|
+
type DynamicStatusResponses<Output> = Output extends StatusResponse<infer Code, unknown> ? number extends Code ? {
|
|
54
|
+
200: unknown;
|
|
55
|
+
} : EmptyResponseMap : EmptyResponseMap;
|
|
56
|
+
type InferredResponses<Output> = (Exclude<Output, StatusResponse<number, unknown> | Response> extends never ? EmptyResponseMap : {
|
|
57
|
+
200: Exclude<Output, StatusResponse<number, unknown> | Response>;
|
|
58
|
+
}) & StatusBodies<Output> & DynamicStatusResponses<Output>;
|
|
59
|
+
type ExplicitResponses<S extends RouteSchema> = (S extends {
|
|
44
60
|
response: infer R extends StandardSchemaV1;
|
|
45
|
-
} ?
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
* `status`, not just surface a union. `unknown` when the route declares no `errors`. */
|
|
49
|
-
type RegistryErrors<S extends RouteSchema> = S extends {
|
|
61
|
+
} ? {
|
|
62
|
+
200: InferOutput<R>;
|
|
63
|
+
} : EmptyResponseMap) & (S extends {
|
|
50
64
|
errors: infer E extends Record<number, StandardSchemaV1>;
|
|
51
65
|
} ? {
|
|
52
66
|
[K in keyof E]: E[K] extends StandardSchemaV1 ? InferOutput<E[K]> : never;
|
|
53
|
-
} :
|
|
67
|
+
} : EmptyResponseMap);
|
|
68
|
+
type MergeResponseMaps<Inferred, Explicit> = Omit<Inferred, keyof Explicit> & Explicit;
|
|
69
|
+
type ResponseMap<S extends RouteSchema, Output> = MergeResponseMaps<InferredResponses<Output>, ExplicitResponses<S>>;
|
|
70
|
+
/** Public type seam for build-time consumers that need the complete route response map. */
|
|
71
|
+
export type ResponseMapFor<S extends RouteSchema, Output> = ResponseMap<S, Output>;
|
|
72
|
+
type ResponseErrors<M> = {
|
|
73
|
+
[K in keyof M as K extends number ? (IsSuccessCode<K> extends true ? never : K) : never]: M[K];
|
|
74
|
+
};
|
|
75
|
+
type ResponseSuccessBodies<M> = {
|
|
76
|
+
[K in keyof M]: K extends number ? (IsSuccessCode<K> extends true ? M[K] : never) : never;
|
|
77
|
+
}[keyof M];
|
|
78
|
+
type NonEmptyOrUnknown<M> = keyof M extends never ? unknown : M;
|
|
79
|
+
/** The client-visible output is the union of all inferred/declared 2xx bodies. */
|
|
80
|
+
type RegistryOutput<S extends RouteSchema, Output> = ResponseSuccessBodies<ResponseMap<S, Output>>;
|
|
54
81
|
/** The SSE event payload type from a route's `sse` schema; `never` for ordinary routes. */
|
|
55
82
|
type RegistrySse<S extends RouteSchema> = S extends {
|
|
56
83
|
sse: infer E extends StandardSchemaV1;
|
|
57
84
|
} ? InferOutput<E> : never;
|
|
58
85
|
/** Build a {@link RouteInfo} from a route's path, schema, and handler output type. */
|
|
59
|
-
export type RouteInfoFor<Path extends string, S extends RouteSchema, Output> = {
|
|
86
|
+
export type RouteInfoFor<Path extends string, S extends RouteSchema, Output, HookOutput = never> = {
|
|
60
87
|
readonly params: Params<Path>;
|
|
61
88
|
readonly query: RegistryQuery<S>;
|
|
62
89
|
readonly body: RegistryBody<S>;
|
|
63
|
-
readonly output: RegistryOutput<S, Output>;
|
|
64
|
-
readonly
|
|
90
|
+
readonly output: RegistryOutput<S, Output | HookOutput>;
|
|
91
|
+
readonly responses?: ResponseMapFor<S, Output | HookOutput>;
|
|
92
|
+
readonly errors: NonEmptyOrUnknown<ResponseErrors<ResponseMapFor<S, Output | HookOutput>>>;
|
|
65
93
|
readonly sse: RegistrySse<S>;
|
|
66
94
|
};
|
|
67
95
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/server/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAEvD;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IAKxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB;;+CAE2C;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB;gGAC4F;IAC5F,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA;IACtB;;kFAE8E;IAC9E,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,6FAA6F;AAC7F,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;AAEhE,qGAAqG;AACrG,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;AAEhD;;;2EAG2E;AAC3E,KAAK,YAAY,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC,SAAS,gBAAgB,CAAA;CAAE,GAC3F,UAAU,CAAC,CAAC,CAAC,GACb,KAAK,CAAA;AAET,KAAK,aAAa,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,SAAS,gBAAgB,CAAA;CAAE,GAC7F,UAAU,CAAC,CAAC,CAAC,GACb,KAAK,CAAA;AAET;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/server/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,10 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { RequestBudget } from "../budget.js";
|
|
8
8
|
import type { Platform } from "./context.js";
|
|
9
|
-
import {
|
|
10
|
-
import { CONTEXT_SEARCH, CONTEXT_SET
|
|
11
|
-
import type { CtxSet,
|
|
9
|
+
import type { ProtoPoisoning } from "./proto-guard.js";
|
|
10
|
+
import { CONTEXT_SEARCH, CONTEXT_SET } from "./runtime-core.js";
|
|
11
|
+
import type { CtxSet, RawContext, RequestSource } from "./server.js";
|
|
12
|
+
export { readBodyFramed, readBoundedJsonSource } from "./body-lane.js";
|
|
12
13
|
export declare class RequestContext implements RawContext {
|
|
13
14
|
params: Record<string, string>;
|
|
14
15
|
body: unknown;
|
|
@@ -73,29 +74,4 @@ export declare class RequestContext implements RawContext {
|
|
|
73
74
|
* with an in-cap `Content-Length` take the runtime's fused `json()` and walk the parsed value;
|
|
74
75
|
* chunked or length-less requests fall back to the streaming byte-cap guard.
|
|
75
76
|
*/
|
|
76
|
-
/**
|
|
77
|
-
* Deliberately **not** `async`: the framed lane is the hot path for every JSON POST, and an async
|
|
78
|
-
* wrapper costs a coroutine frame, a wrapper promise, and an extra microtask hop on top of the one
|
|
79
|
-
* the body read already pays (~90ns/request on Node, measured). The lane returns the body read's
|
|
80
|
-
* own promise chain instead, and only the streaming fallback - which is already doing IO in a loop
|
|
81
|
-
* - runs as an async function. Callers that `await` the result are unaffected.
|
|
82
|
-
*/
|
|
83
|
-
type JsonResultContinuation<T> = (result: unknown | ResponseResult) => T | Promise<T>;
|
|
84
|
-
type JsonErrorContinuation<T> = (error: unknown) => T | Promise<T>;
|
|
85
|
-
export declare function readBoundedJsonSource(req: RequestSource, maxBytes: number, protoPoisoning?: ProtoPoisoning): Promise<unknown | ResponseResult>;
|
|
86
|
-
export declare function readBoundedJsonSource<T>(req: RequestSource, maxBytes: number, protoPoisoning: ProtoPoisoning, onResult: JsonResultContinuation<T>, onError: JsonErrorContinuation<T>): Promise<T>;
|
|
87
|
-
/**
|
|
88
|
-
* The shared bounded body framing/parser: the single trust-boundary enforcement point every body
|
|
89
|
-
* lane routes through. Content-type dispatch, the urlencoded-form cap, and the JSON path
|
|
90
|
-
* (`Content-Length` pre-reject -> streaming cap -> prototype-poisoning guard, all inside
|
|
91
|
-
* `readBoundedJsonSource`) live here so the fused body runner, the generic body-only lane, and a
|
|
92
|
-
* compact edge entrypoint all enforce the same boundary from one definition. `protoPoisoning` is a
|
|
93
|
-
* parameter, not read off a server instance, so this stays free of any dependency on the class.
|
|
94
|
-
*
|
|
95
|
-
* `onParsed` receives the decoded, guard-screened value; a framing rejection (`Content-Length` over
|
|
96
|
-
* the cap, a lying length caught mid-stream, malformed JSON, an unsupported media type) is rendered
|
|
97
|
-
* through `wrapResponse`; a read that never completed (client abort, socket error) reaches `onError`.
|
|
98
|
-
*/
|
|
99
|
-
export declare function readBodyFramed<T>(source: RequestSource, maxBodyBytes: number, protoPoisoning: ProtoPoisoning, onParsed: (parsed: unknown) => MaybePromise<T>, wrapResponse: (response: Response | ResponseResult) => T, onError: (err: unknown) => MaybePromise<T>): Promise<T>;
|
|
100
|
-
export {};
|
|
101
77
|
//# sourceMappingURL=request-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../src/server/request-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../src/server/request-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { applyTransportCap,
|
|
1
|
+
import { applyTransportCap, readBoundedBytes } from "./body.js";
|
|
2
|
+
import { readBoundedJsonSource } from "./body-lane.js";
|
|
2
3
|
import { cookieNamePrefix, parseCookies, serializeCookie } from "./cookies.js";
|
|
3
4
|
import { headerObjectOf } from "./headers.js";
|
|
4
5
|
import { plainError } from "./http.js";
|
|
5
|
-
import {
|
|
6
|
-
import { isUrlEncodedForm, readBoundedForm, searchOf } from "./query.js";
|
|
6
|
+
import { searchOf } from "./query.js";
|
|
7
7
|
import { responseJsonContentType } from "./respond.js";
|
|
8
|
-
import { CONTEXT_SEARCH, CONTEXT_SET, fallbackWaitUntil, getNeverAbortSignal, getUnboundedRequestBudget, headerOf, isResponseResult,
|
|
8
|
+
import { CONTEXT_SEARCH, CONTEXT_SET, fallbackWaitUntil, getNeverAbortSignal, getUnboundedRequestBudget, headerOf, isResponseResult, requestOf, } from "./runtime-core.js";
|
|
9
|
+
export { readBodyFramed, readBoundedJsonSource } from "./body-lane.js";
|
|
9
10
|
/** A fixed past instant for cookie deletion (`Expires`). A literal epoch - deterministic, unlike an
|
|
10
11
|
* argless `new Date()`. */
|
|
11
12
|
const EPOCH = new Date(0);
|
|
@@ -292,187 +293,11 @@ async function readBoundedJsonBodyOrThrow(req, maxBodyBytes, protoPoisoning, max
|
|
|
292
293
|
throw parsed;
|
|
293
294
|
return parsed;
|
|
294
295
|
}
|
|
295
|
-
export function readBoundedJsonSource(req, maxBytes, protoPoisoning = "reject", onResult, onError) {
|
|
296
|
-
// A pre-parsing hook (the transport-codec lane) may have decoded the body already - its stash
|
|
297
|
-
// is taken verbatim: the stasher enforced its own byte cap and poisoning policy on text this
|
|
298
|
-
// lane never sees. One symbol read; a miss on ordinary requests costs a cache-line, not a parse.
|
|
299
|
-
const preDecoded = req[PRE_DECODED_BODY];
|
|
300
|
-
if (preDecoded !== undefined) {
|
|
301
|
-
return onResult === undefined
|
|
302
|
-
? Promise.resolve(preDecoded.value)
|
|
303
|
-
: Promise.resolve(preDecoded.value).then(onResult);
|
|
304
|
-
}
|
|
305
|
-
// Read through the pre-cap readers when the request is transport-capped: this lane enforces its
|
|
306
|
-
// own `maxBytes` (which may exceed the route's transport cap), so the shadowed user-facing
|
|
307
|
-
// readers must not narrow it.
|
|
308
|
-
// Keep the source's header dispatch local: the normal Node source exposes a direct `header`
|
|
309
|
-
// lookup, while a Web Request only exposes `Headers.get`. Rechecking that optional method through
|
|
310
|
-
// `headerOf` twice per body is measurable on the framed lane. The raw-reader shadow is still
|
|
311
|
-
// bypassed for reads, but header authority remains the original source (same semantics as before).
|
|
312
|
-
const raw = (req[RAW_BODY_READERS] ??
|
|
313
|
-
req);
|
|
314
|
-
const sourceHeader = req.header;
|
|
315
|
-
const declared = sourceHeader === undefined
|
|
316
|
-
? req.headers.get("content-length")
|
|
317
|
-
: sourceHeader.call(req, "content-length");
|
|
318
|
-
if (declared !== null) {
|
|
319
|
-
// A present Content-Length must be a non-negative integer (HTTP grammar: `1*DIGIT`). A
|
|
320
|
-
// non-numeric / negative / fractional / exponential value (`Number()` would happily accept
|
|
321
|
-
// "abc"->NaN, "-5", "1.5", "1e3", "0x10") is malformed -> 400, rather than silently falling
|
|
322
|
-
// through to the streaming guard - which is an UPPER-bound cap only, so a lying SMALLER length
|
|
323
|
-
// would otherwise be read in full. Real HTTP servers only hand us a valid framed length; this
|
|
324
|
-
// hardens hand-built Requests (tests, the in-process client) and crafted input.
|
|
325
|
-
const length = parseContentLength(declared);
|
|
326
|
-
if (length === undefined)
|
|
327
|
-
return onResult === undefined
|
|
328
|
-
? Promise.resolve(plainError(400, "invalid_content_length"))
|
|
329
|
-
: Promise.resolve(plainError(400, "invalid_content_length")).then(onResult);
|
|
330
|
-
if (length > maxBytes)
|
|
331
|
-
return onResult === undefined
|
|
332
|
-
? Promise.resolve(plainError(413, "payload_too_large"))
|
|
333
|
-
: Promise.resolve(plainError(413, "payload_too_large")).then(onResult);
|
|
334
|
-
// Trusted framing (Bun's native route table, Deno.serve): the runtime's HTTP parser already
|
|
335
|
-
// delimited the bytes, so the declared length IS the transport frame and chunked routing is
|
|
336
|
-
// moot - the over-cap 413 above already enforced the byte cap. Take the runtime's fused
|
|
337
|
-
// decode+parse straight away, before the transfer-encoding probe that only exists to route
|
|
338
|
-
// *untrusted* Node/adapter sources to the streaming lane. Skipping that probe drops one
|
|
339
|
-
// `Headers.get()` from every Bun/Deno JSON POST; Node/adapter sources are never marked and fall
|
|
340
|
-
// through below. The parsed-value poisoning walk still applies.
|
|
341
|
-
if (hasTrustedBodyFraming(req)) {
|
|
342
|
-
return raw.json().then((parsed) => {
|
|
343
|
-
let guarded;
|
|
344
|
-
try {
|
|
345
|
-
guarded = guardParsedValue(parsed, protoPoisoning);
|
|
346
|
-
}
|
|
347
|
-
catch {
|
|
348
|
-
return onResult === undefined
|
|
349
|
-
? plainError(400, "invalid_json")
|
|
350
|
-
: onResult(plainError(400, "invalid_json"));
|
|
351
|
-
}
|
|
352
|
-
return onResult === undefined ? guarded : onResult(guarded);
|
|
353
|
-
}, () => (onResult === undefined ? INVALID_JSON() : onResult(INVALID_JSON())));
|
|
354
|
-
}
|
|
355
|
-
const chunked = (sourceHeader === undefined
|
|
356
|
-
? req.headers.get("transfer-encoding")
|
|
357
|
-
: sourceHeader.call(req, "transfer-encoding")) !== null;
|
|
358
|
-
if (!chunked) {
|
|
359
|
-
const jsonWithByteLength = raw.jsonWithByteLength;
|
|
360
|
-
if (jsonWithByteLength !== undefined) {
|
|
361
|
-
return jsonWithByteLength.call(raw).then(({ value, byteLength }) => {
|
|
362
|
-
if (byteLength > length || byteLength > maxBytes) {
|
|
363
|
-
return onResult === undefined
|
|
364
|
-
? plainError(413, "payload_too_large")
|
|
365
|
-
: onResult(plainError(413, "payload_too_large"));
|
|
366
|
-
}
|
|
367
|
-
let guarded;
|
|
368
|
-
try {
|
|
369
|
-
guarded = guardParsedValue(value, protoPoisoning);
|
|
370
|
-
}
|
|
371
|
-
catch {
|
|
372
|
-
return onResult === undefined
|
|
373
|
-
? plainError(400, "invalid_json")
|
|
374
|
-
: onResult(plainError(400, "invalid_json"));
|
|
375
|
-
}
|
|
376
|
-
return onResult === undefined ? guarded : onResult(guarded);
|
|
377
|
-
}, () => (onResult === undefined ? INVALID_JSON() : onResult(INVALID_JSON())));
|
|
378
|
-
}
|
|
379
|
-
const bytesReader = raw.bytes;
|
|
380
|
-
if (bytesReader !== undefined) {
|
|
381
|
-
return bytesReader.call(raw).then((bytes) => {
|
|
382
|
-
if (bytes.byteLength > length || bytes.byteLength > maxBytes) {
|
|
383
|
-
return onResult === undefined
|
|
384
|
-
? plainError(413, "payload_too_large")
|
|
385
|
-
: onResult(plainError(413, "payload_too_large"));
|
|
386
|
-
}
|
|
387
|
-
try {
|
|
388
|
-
const parsed = parseJsonGuarded(TEXT_DECODER.decode(bytes), protoPoisoning);
|
|
389
|
-
return onResult === undefined ? parsed : onResult(parsed);
|
|
390
|
-
}
|
|
391
|
-
catch {
|
|
392
|
-
return onResult === undefined
|
|
393
|
-
? plainError(400, "invalid_json")
|
|
394
|
-
: onResult(plainError(400, "invalid_json"));
|
|
395
|
-
}
|
|
396
|
-
}, () => (onResult === undefined ? INVALID_JSON() : onResult(INVALID_JSON())));
|
|
397
|
-
}
|
|
398
|
-
// Read the actual framed bytes before parsing. A declared length is only a hint on Web
|
|
399
|
-
// Requests and adapter-shaped sources: a caller can construct a Request (or an adapter can
|
|
400
|
-
// decode/expand a body) whose header claims fewer bytes than the delivered payload. Calling
|
|
401
|
-
// native `json()` here would accept that understatement and bypass the cap. The byte lane
|
|
402
|
-
// already owns this post-read check; keeping the JSON lane on the same raw-byte read makes the
|
|
403
|
-
// trust boundary consistent. `Uint8Array(buffer)` is a view, not a copy.
|
|
404
|
-
return raw.arrayBuffer().then((buffer) => {
|
|
405
|
-
const bytes = new Uint8Array(buffer);
|
|
406
|
-
if (bytes.byteLength > length || bytes.byteLength > maxBytes) {
|
|
407
|
-
return onResult === undefined
|
|
408
|
-
? plainError(413, "payload_too_large")
|
|
409
|
-
: onResult(plainError(413, "payload_too_large"));
|
|
410
|
-
}
|
|
411
|
-
let parsed;
|
|
412
|
-
try {
|
|
413
|
-
parsed = parseJsonGuarded(TEXT_DECODER.decode(bytes), protoPoisoning);
|
|
414
|
-
}
|
|
415
|
-
catch {
|
|
416
|
-
return onResult === undefined
|
|
417
|
-
? plainError(400, "invalid_json")
|
|
418
|
-
: onResult(plainError(400, "invalid_json"));
|
|
419
|
-
}
|
|
420
|
-
return onResult === undefined ? parsed : onResult(parsed);
|
|
421
|
-
}, () => (onResult === undefined ? INVALID_JSON() : onResult(INVALID_JSON())));
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
const streamed = readStreamedJsonSource(raw, maxBytes, protoPoisoning);
|
|
425
|
-
return onResult === undefined ? streamed : streamed.then(onResult, onError);
|
|
426
|
-
}
|
|
427
|
-
/** The shared rejection handler for a body read that never completed (client abort, socket error,
|
|
428
|
-
* malformed framing): the same flat 400 a syntactically invalid body gets. Hoisted so the framed
|
|
429
|
-
* lane allocates no per-request closure for it. */
|
|
430
|
-
const INVALID_JSON = () => plainError(400, "invalid_json");
|
|
431
|
-
/** The chunked / length-less fallback: drain under the streaming byte cap, then parse guarded. */
|
|
432
|
-
async function readStreamedJsonSource(raw, maxBytes, protoPoisoning) {
|
|
433
|
-
const body = raw.body;
|
|
434
|
-
if (body === null)
|
|
435
|
-
return plainError(400, "invalid_json");
|
|
436
|
-
const drained = await drainCapped(body, maxBytes);
|
|
437
|
-
if (!drained.ok)
|
|
438
|
-
return plainError(413, "payload_too_large");
|
|
439
|
-
try {
|
|
440
|
-
return parseJsonGuarded(TEXT_DECODER.decode(drained.bytes), protoPoisoning);
|
|
441
|
-
}
|
|
442
|
-
catch {
|
|
443
|
-
return plainError(400, "invalid_json");
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
296
|
/**
|
|
447
|
-
*
|
|
448
|
-
*
|
|
449
|
-
*
|
|
450
|
-
* `
|
|
451
|
-
*
|
|
452
|
-
* parameter, not read off a server instance, so this stays free of any dependency on the class.
|
|
453
|
-
*
|
|
454
|
-
* `onParsed` receives the decoded, guard-screened value; a framing rejection (`Content-Length` over
|
|
455
|
-
* the cap, a lying length caught mid-stream, malformed JSON, an unsupported media type) is rendered
|
|
456
|
-
* through `wrapResponse`; a read that never completed (client abort, socket error) reaches `onError`.
|
|
297
|
+
* Read a JSON body with the same byte cap used by schema validation and `c.boundedJson`, then
|
|
298
|
+
* parse it through the prototype-poisoning guard (`protoPoisoning`, default `"reject"` - a
|
|
299
|
+
* poisoned payload answers the same flat 400 as malformed JSON). Non-chunked, framed requests
|
|
300
|
+
* with an in-cap `Content-Length` take the runtime's fused `json()` and walk the parsed value;
|
|
301
|
+
* chunked or length-less requests fall back to the streaming byte-cap guard.
|
|
457
302
|
*/
|
|
458
|
-
export function readBodyFramed(source, maxBodyBytes, protoPoisoning, onParsed, wrapResponse, onError) {
|
|
459
|
-
const contentType = headerOf(source, "content-type") ?? "";
|
|
460
|
-
if (contentType !== "application/json" && !contentType.includes("application/json")) {
|
|
461
|
-
if (isUrlEncodedForm(contentType)) {
|
|
462
|
-
return readBoundedForm(source, maxBodyBytes).then((form) => (isResponseResult(form) ? wrapResponse(form) : onParsed(form)), onError);
|
|
463
|
-
}
|
|
464
|
-
// multipart/form-data (file uploads) stays 415 on the schema path by design - files don't fit a
|
|
465
|
-
// value schema; use a schema-less route + @nifrajs/uploads helpers for those.
|
|
466
|
-
return Promise.resolve(wrapResponse(plainError(415, "unsupported_media_type")));
|
|
467
|
-
}
|
|
468
|
-
// All JSON bodies go through readBoundedJsonSource - the single enforcement point for the framed
|
|
469
|
-
// fast path (post-read byte re-check), the streaming cap, and the prototype-poisoning guard. A
|
|
470
|
-
// separate inlined native-json() fast path here would fork the trust boundary in two.
|
|
471
|
-
try {
|
|
472
|
-
return readBoundedJsonSource(source, maxBodyBytes, protoPoisoning, (parsed) => (isResponseResult(parsed) ? wrapResponse(parsed) : onParsed(parsed)), onError);
|
|
473
|
-
}
|
|
474
|
-
catch (err) {
|
|
475
|
-
return Promise.resolve(onError(err));
|
|
476
|
-
}
|
|
477
|
-
}
|
|
478
303
|
//# sourceMappingURL=request-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-context.js","sourceRoot":"","sources":["../../src/server/request-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"request-context.js","sourceRoot":"","sources":["../../src/server/request-context.ts"],"names":[],"mappings":"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"}
|