@nifrajs/core 5.5.1 → 5.7.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.
Files changed (209) hide show
  1. package/CHANGELOG.md +246 -0
  2. package/README.md +5 -0
  3. package/dist/assurance.d.ts.map +1 -1
  4. package/dist/assurance.js.map +1 -1
  5. package/dist/binary.d.ts +15 -1
  6. package/dist/binary.d.ts.map +1 -1
  7. package/dist/binary.js +1 -0
  8. package/dist/binary.js.map +1 -1
  9. package/dist/edge-kit.d.ts +1 -0
  10. package/dist/edge-kit.d.ts.map +1 -1
  11. package/dist/edge-kit.js +1 -0
  12. package/dist/edge-kit.js.map +1 -1
  13. package/dist/errors.d.ts +1 -1
  14. package/dist/errors.d.ts.map +1 -1
  15. package/dist/errors.js.map +1 -1
  16. package/dist/evidence.d.ts +4 -0
  17. package/dist/evidence.d.ts.map +1 -1
  18. package/dist/evidence.js +4 -0
  19. package/dist/evidence.js.map +1 -1
  20. package/dist/file-type.d.ts +30 -0
  21. package/dist/file-type.d.ts.map +1 -0
  22. package/dist/file-type.js +118 -0
  23. package/dist/file-type.js.map +1 -0
  24. package/dist/index.d.ts +3 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +3 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/internal/hook-origins.d.ts +2 -0
  29. package/dist/internal/hook-origins.d.ts.map +1 -1
  30. package/dist/internal/hook-origins.js +12 -0
  31. package/dist/internal/hook-origins.js.map +1 -1
  32. package/dist/internal/route-program.d.ts +11 -0
  33. package/dist/internal/route-program.d.ts.map +1 -1
  34. package/dist/internal/route-program.js +133 -85
  35. package/dist/internal/route-program.js.map +1 -1
  36. package/dist/reflection.d.ts +19 -1
  37. package/dist/reflection.d.ts.map +1 -1
  38. package/dist/reflection.js +46 -7
  39. package/dist/reflection.js.map +1 -1
  40. package/dist/response-observer.d.ts +1 -0
  41. package/dist/response-observer.d.ts.map +1 -1
  42. package/dist/response-observer.js +1 -0
  43. package/dist/response-observer.js.map +1 -1
  44. package/dist/server/answer-step.d.ts +27 -0
  45. package/dist/server/answer-step.d.ts.map +1 -0
  46. package/dist/server/answer-step.js +33 -0
  47. package/dist/server/answer-step.js.map +1 -0
  48. package/dist/server/bare-error-lane.d.ts +4 -1
  49. package/dist/server/bare-error-lane.d.ts.map +1 -1
  50. package/dist/server/bare-error-lane.js +9 -3
  51. package/dist/server/bare-error-lane.js.map +1 -1
  52. package/dist/server/base64-answers.d.ts +5 -0
  53. package/dist/server/base64-answers.d.ts.map +1 -0
  54. package/dist/server/base64-answers.js +132 -0
  55. package/dist/server/base64-answers.js.map +1 -0
  56. package/dist/server/before-handler.d.ts +10 -0
  57. package/dist/server/before-handler.d.ts.map +1 -0
  58. package/dist/server/before-handler.js +12 -0
  59. package/dist/server/before-handler.js.map +1 -0
  60. package/dist/server/body-lane.d.ts.map +1 -1
  61. package/dist/server/body-lane.js +8 -2
  62. package/dist/server/body-lane.js.map +1 -1
  63. package/dist/server/body-parser.d.ts.map +1 -1
  64. package/dist/server/body-parser.js +2 -5
  65. package/dist/server/body-parser.js.map +1 -1
  66. package/dist/server/body.d.ts +24 -8
  67. package/dist/server/body.d.ts.map +1 -1
  68. package/dist/server/body.js +86 -33
  69. package/dist/server/body.js.map +1 -1
  70. package/dist/server/core-copies.d.ts.map +1 -1
  71. package/dist/server/core-copies.js +5 -2
  72. package/dist/server/core-copies.js.map +1 -1
  73. package/dist/server/http.d.ts.map +1 -1
  74. package/dist/server/http.js +6 -17
  75. package/dist/server/http.js.map +1 -1
  76. package/dist/server/install.d.ts +2 -0
  77. package/dist/server/install.d.ts.map +1 -1
  78. package/dist/server/install.js +2 -0
  79. package/dist/server/install.js.map +1 -1
  80. package/dist/server/json-response.d.ts +3 -0
  81. package/dist/server/json-response.d.ts.map +1 -0
  82. package/dist/server/json-response.js +14 -0
  83. package/dist/server/json-response.js.map +1 -0
  84. package/dist/server/json-text.d.ts +16 -0
  85. package/dist/server/json-text.d.ts.map +1 -0
  86. package/dist/server/json-text.js +34 -0
  87. package/dist/server/json-text.js.map +1 -0
  88. package/dist/server/multipart.d.ts +3 -0
  89. package/dist/server/multipart.d.ts.map +1 -1
  90. package/dist/server/multipart.js +226 -97
  91. package/dist/server/multipart.js.map +1 -1
  92. package/dist/server/node-outcome.d.ts +5 -0
  93. package/dist/server/node-outcome.d.ts.map +1 -1
  94. package/dist/server/node-outcome.js +3 -4
  95. package/dist/server/node-outcome.js.map +1 -1
  96. package/dist/server/proto-guard.d.ts.map +1 -1
  97. package/dist/server/proto-guard.js +39 -4
  98. package/dist/server/proto-guard.js.map +1 -1
  99. package/dist/server/query.d.ts.map +1 -1
  100. package/dist/server/query.js +8 -14
  101. package/dist/server/query.js.map +1 -1
  102. package/dist/server/repeated-prefix.d.ts +17 -0
  103. package/dist/server/repeated-prefix.d.ts.map +1 -0
  104. package/dist/server/repeated-prefix.js +17 -0
  105. package/dist/server/repeated-prefix.js.map +1 -0
  106. package/dist/server/request-context.d.ts.map +1 -1
  107. package/dist/server/request-context.js +5 -5
  108. package/dist/server/request-context.js.map +1 -1
  109. package/dist/server/respond.d.ts +3 -4
  110. package/dist/server/respond.d.ts.map +1 -1
  111. package/dist/server/respond.js +45 -37
  112. package/dist/server/respond.js.map +1 -1
  113. package/dist/server/response-contract-lane.d.ts +12 -2
  114. package/dist/server/response-contract-lane.d.ts.map +1 -1
  115. package/dist/server/response-contract-lane.js +137 -9
  116. package/dist/server/response-contract-lane.js.map +1 -1
  117. package/dist/server/route-template.d.ts +10 -0
  118. package/dist/server/route-template.d.ts.map +1 -0
  119. package/dist/server/route-template.js +21 -0
  120. package/dist/server/route-template.js.map +1 -0
  121. package/dist/server/runtime-core.d.ts +7 -0
  122. package/dist/server/runtime-core.d.ts.map +1 -1
  123. package/dist/server/runtime-core.js +10 -2
  124. package/dist/server/runtime-core.js.map +1 -1
  125. package/dist/server/server-types.d.ts +17 -8
  126. package/dist/server/server-types.d.ts.map +1 -1
  127. package/dist/server/server.d.ts +27 -12
  128. package/dist/server/server.d.ts.map +1 -1
  129. package/dist/server/server.js +326 -108
  130. package/dist/server/server.js.map +1 -1
  131. package/dist/server/sse.d.ts +1 -1
  132. package/dist/server/sse.d.ts.map +1 -1
  133. package/dist/server/sse.js +7 -5
  134. package/dist/server/sse.js.map +1 -1
  135. package/dist/server/text-slots.d.ts +8 -0
  136. package/dist/server/text-slots.d.ts.map +1 -0
  137. package/dist/server/text-slots.js +19 -0
  138. package/dist/server/text-slots.js.map +1 -0
  139. package/dist/server/webhook.d.ts +1 -1
  140. package/dist/server/webhook.d.ts.map +1 -1
  141. package/dist/server/webhook.js +24 -19
  142. package/dist/server/webhook.js.map +1 -1
  143. package/dist/server/websocket.d.ts +18 -3
  144. package/dist/server/websocket.d.ts.map +1 -1
  145. package/dist/server/websocket.js +45 -5
  146. package/dist/server/websocket.js.map +1 -1
  147. package/dist/server/ws-bun.d.ts.map +1 -1
  148. package/dist/server/ws-bun.js +7 -4
  149. package/dist/server/ws-bun.js.map +1 -1
  150. package/dist/server.d.ts +2 -0
  151. package/dist/server.d.ts.map +1 -1
  152. package/dist/server.js +2 -0
  153. package/dist/server.js.map +1 -1
  154. package/dist/single-copy.d.ts +5 -0
  155. package/dist/single-copy.d.ts.map +1 -1
  156. package/dist/single-copy.js +26 -17
  157. package/dist/single-copy.js.map +1 -1
  158. package/dist/tool-cli.d.ts +64 -0
  159. package/dist/tool-cli.d.ts.map +1 -0
  160. package/dist/tool-cli.js +495 -0
  161. package/dist/tool-cli.js.map +1 -0
  162. package/dist/transport-codec.d.ts.map +1 -1
  163. package/dist/transport-codec.js +2 -1
  164. package/dist/transport-codec.js.map +1 -1
  165. package/package.json +11 -1
  166. package/src/assurance.ts +1 -0
  167. package/src/binary.ts +17 -0
  168. package/src/edge-kit.ts +1 -0
  169. package/src/errors.ts +1 -0
  170. package/src/evidence.ts +8 -0
  171. package/src/file-type.ts +130 -0
  172. package/src/index.ts +3 -1
  173. package/src/internal/hook-origins.ts +10 -0
  174. package/src/internal/route-program.ts +261 -93
  175. package/src/reflection.ts +71 -7
  176. package/src/response-observer.ts +6 -0
  177. package/src/server/answer-step.ts +68 -0
  178. package/src/server/bare-error-lane.ts +9 -4
  179. package/src/server/base64-answers.ts +138 -0
  180. package/src/server/before-handler.ts +14 -0
  181. package/src/server/body-lane.ts +19 -9
  182. package/src/server/body-parser.ts +1 -5
  183. package/src/server/body.ts +96 -36
  184. package/src/server/core-copies.ts +5 -2
  185. package/src/server/http.ts +6 -15
  186. package/src/server/install.ts +3 -0
  187. package/src/server/json-response.ts +13 -0
  188. package/src/server/json-text.ts +34 -0
  189. package/src/server/multipart.ts +232 -100
  190. package/src/server/node-outcome.ts +4 -5
  191. package/src/server/proto-guard.ts +39 -4
  192. package/src/server/query.ts +7 -13
  193. package/src/server/repeated-prefix.ts +25 -0
  194. package/src/server/request-context.ts +5 -5
  195. package/src/server/respond.ts +47 -30
  196. package/src/server/response-contract-lane.ts +132 -9
  197. package/src/server/route-template.ts +24 -0
  198. package/src/server/runtime-core.ts +12 -2
  199. package/src/server/server-types.ts +18 -6
  200. package/src/server/server.ts +361 -112
  201. package/src/server/sse.ts +8 -6
  202. package/src/server/text-slots.ts +21 -0
  203. package/src/server/webhook.ts +29 -24
  204. package/src/server/websocket.ts +57 -8
  205. package/src/server/ws-bun.ts +7 -3
  206. package/src/server.ts +2 -0
  207. package/src/single-copy.ts +31 -15
  208. package/src/tool-cli.ts +584 -0
  209. package/src/transport-codec.ts +3 -1
@@ -140,11 +140,8 @@ export function bodyParser(schema, options) {
140
140
  : inner(source, contentType, maxBodyBytes, protoPoisoning);
141
141
  }
142
142
  const body = await readBoundedBytes(source, maxBodyBytes);
143
- if (!body.ok) {
144
- return body.status === 413
145
- ? plainError(413, "payload_too_large")
146
- : plainError(400, "invalid_content_length");
147
- }
143
+ if (!body.ok)
144
+ return plainError(body.status, body.error);
148
145
  try {
149
146
  const value = await parse(body.bytes, { mediaType, contentType });
150
147
  settle(value, protoPoisoning);
@@ -1 +1 @@
1
- {"version":3,"file":"body-parser.js","sourceRoot":"","sources":["../../src/server/body-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"body-parser.js","sourceRoot":"","sources":["../../src/server/body-parser.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  interface BodySource {
10
10
  readonly headers: Pick<Headers, "get">;
11
11
  readonly body: ReadableStream<Uint8Array> | null;
12
+ readonly bodyUsed?: boolean;
12
13
  arrayBuffer(): Promise<ArrayBuffer>;
13
14
  bytes?(): Promise<Uint8Array>;
14
15
  }
@@ -16,6 +17,7 @@ interface BodySource {
16
17
  export interface RawBodyReaders {
17
18
  readonly headers: Pick<Headers, "get">;
18
19
  readonly body: ReadableStream<Uint8Array> | null;
20
+ readonly bodyUsed?: boolean;
19
21
  arrayBuffer(): Promise<ArrayBuffer>;
20
22
  /** Runtime-native exact-byte reader, when the request implementation exposes one. */
21
23
  bytes?(): Promise<Uint8Array>;
@@ -40,16 +42,28 @@ export declare const UNLIMITED_BODY_BYTES: number;
40
42
  * comparisons fail open (notably for `NaN`) and can re-enable unbounded buffering. */
41
43
  export declare function assertByteLimit(value: number, name?: string): void;
42
44
  export declare function parseContentLength(value: string): number | undefined;
45
+ /** Why a bounded read refused a body: the status and the error code it is answered with. */
46
+ export type BoundedReadFailure = {
47
+ ok: false;
48
+ status: 413;
49
+ error: "payload_too_large";
50
+ } | {
51
+ ok: false;
52
+ status: 400;
53
+ error: "invalid_content_length" | "invalid_body";
54
+ };
55
+ declare const TOO_LARGE: {
56
+ ok: false;
57
+ status: 413;
58
+ error: "payload_too_large";
59
+ };
43
60
  /** The shared streaming byte-cap loop: read until done, or cancel + 413 once over `maxBytes`.
44
61
  * A single-chunk body (the common case for small chunked payloads) returns the runtime's own
45
62
  * chunk directly - no chunk array, no copy-merge. */
46
63
  export declare function drainCapped(body: ReadableStream<Uint8Array>, maxBytes: number): Promise<{
47
64
  ok: true;
48
65
  bytes: Uint8Array;
49
- } | {
50
- ok: false;
51
- status: 413;
52
- }>;
66
+ } | typeof TOO_LARGE>;
53
67
  /**
54
68
  * Read a request body as **bytes**, capped at `maxBytes`. Rejects a `Content-Length` over the cap
55
69
  * before buffering (`413`) and a malformed `Content-Length` (`400`); a chunked / length-less body
@@ -57,20 +71,22 @@ export declare function drainCapped(body: ReadableStream<Uint8Array>, maxBytes:
57
71
  * `Content-Length` within the cap is read via native `arrayBuffer()`, then the **real** byte count
58
72
  * is checked against the declared length - a source that delivers more than it declared (a lying
59
73
  * or upstream-decoding adapter) is rejected with `413` even though its header passed the hint.
74
+ * A body a runtime took off a client's connection that fails while it is read - a client that hung
75
+ * up inside it, which only Deno hands an app - is refused `400` `invalid_body`. A body built in this
76
+ * process keeps its producer's error, and a reader the app spent or locked keeps its throw.
60
77
  */
61
78
  export declare function readBoundedBytes(source: BodySource, maxBytes: number): Promise<{
62
79
  ok: true;
63
80
  bytes: Uint8Array;
64
- } | {
65
- ok: false;
66
- status: 400 | 413;
67
- }>;
81
+ } | BoundedReadFailure>;
68
82
  /** Key under which a transport-capped request stashes its {@link RawBodyReaders}. */
69
83
  export declare const RAW_BODY_READERS: unique symbol;
70
84
  /** Mark a request delivered straight from a runtime HTTP parser. */
71
85
  export declare function markTrustedBodyFraming(source: object): void;
72
86
  /** True only for the runtime-framed ingress mark. */
73
87
  export declare function hasTrustedBodyFraming(source: object): boolean;
88
+ /** The 400 code for a request body a capped reader could not parse, or `undefined` for any other error. */
89
+ export declare const clientBodyErrorCode: (err: unknown) => "invalid_json" | "invalid_form" | undefined;
74
90
  /**
75
91
  * A copy of `request` whose body errors with the transport cap's `413` once more than `maxBytes`
76
92
  * arrive, or as soon as it is read when the declared Content-Length is over the cap (`413`) or
@@ -1 +1 @@
1
- {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../src/server/body.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,UAAU,UAAU;IAClB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACtC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;IAChD,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;IACnC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,CAAA;CAC9B;AAED,oGAAoG;AACpG,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACtC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;IAChD,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;IACnC,qFAAqF;IACrF,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,CAAA;IAC7B,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAE/D;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,QAA0B,CAAA;AAE3D;sFACsF;AACtF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,SAAa,GAAG,IAAI,CAItE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUpE;AAED;;qDAEqD;AACrD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,EAChC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC,CAgCvE;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAAA;CAAE,CAAC,CA4B7E;AAED,qFAAqF;AACrF,eAAO,MAAM,gBAAgB,eAAkC,CAAA;AAsB/D,oEAAoE;AACpE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED,qDAAqD;AACrD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7D;AAiBD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAuBxE;AAqOD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEvE;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGjE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAmBxE"}
1
+ {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../src/server/body.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,13 @@ export function parseContentLength(value) {
45
45
  }
46
46
  return length;
47
47
  }
48
+ const TOO_LARGE = {
49
+ ok: false,
50
+ status: 413,
51
+ error: "payload_too_large",
52
+ };
53
+ const BAD_LENGTH = { ok: false, status: 400, error: "invalid_content_length" };
54
+ const UNREADABLE = { ok: false, status: 400, error: "invalid_body" };
48
55
  /** The shared streaming byte-cap loop: read until done, or cancel + 413 once over `maxBytes`.
49
56
  * A single-chunk body (the common case for small chunked payloads) returns the runtime's own
50
57
  * chunk directly - no chunk array, no copy-merge. */
@@ -63,7 +70,7 @@ export async function drainCapped(body, maxBytes) {
63
70
  // Not awaited: on a teed body (a `clone()` taken first) the cancel settles only once the other
64
71
  // branch is read or cancelled too, and nothing here ever reads it.
65
72
  reader.cancel().catch(() => { });
66
- return { ok: false, status: 413 };
73
+ return TOO_LARGE;
67
74
  }
68
75
  if (first === undefined) {
69
76
  first = value;
@@ -91,38 +98,57 @@ export async function drainCapped(body, maxBytes) {
91
98
  * `Content-Length` within the cap is read via native `arrayBuffer()`, then the **real** byte count
92
99
  * is checked against the declared length - a source that delivers more than it declared (a lying
93
100
  * or upstream-decoding adapter) is rejected with `413` even though its header passed the hint.
101
+ * A body a runtime took off a client's connection that fails while it is read - a client that hung
102
+ * up inside it, which only Deno hands an app - is refused `400` `invalid_body`. A body built in this
103
+ * process keeps its producer's error, and a reader the app spent or locked keeps its throw.
94
104
  */
95
105
  export async function readBoundedBytes(source, maxBytes) {
96
106
  assertByteLimit(maxBytes);
97
107
  const req = rawBodySourceOf(source);
98
108
  const declared = req.headers.get("content-length");
109
+ let length;
99
110
  if (declared !== null) {
100
111
  // A present Content-Length must be a non-negative integer (HTTP grammar: `1*DIGIT`). A non-numeric
101
112
  // / negative / fractional value is malformed → 400, rather than falling through to the streaming
102
113
  // guard (an UPPER-bound cap only, so a lying SMALLER length would otherwise be read in full).
103
- const length = parseContentLength(declared);
114
+ length = parseContentLength(declared);
104
115
  if (length === undefined)
105
- return { ok: false, status: 400 };
116
+ return BAD_LENGTH;
106
117
  if (length > maxBytes)
107
- return { ok: false, status: 413 };
108
- const chunked = req.headers.get("transfer-encoding") !== null;
109
- if (!chunked) {
110
- const bytesReader = req.bytes;
111
- const bytes = bytesReader === undefined
112
- ? new Uint8Array(await req.arrayBuffer())
113
- : await bytesReader.call(req);
114
- // Content-Length was the fast-reject hint, never the enforcement: a lying or buffering
115
- // source (an adapter that decoded/expanded the body upstream) can hand over more bytes
116
- // than it declared. `length <= maxBytes` held above, so one comparison seals the cap.
117
- if (bytes.byteLength > length)
118
- return { ok: false, status: 413 };
119
- return { ok: true, bytes };
118
+ return TOO_LARGE;
119
+ }
120
+ const fromClient = hasTrustedBodyFraming(source) || hasTrustedBodyFraming(req);
121
+ if (length !== undefined && req.headers.get("transfer-encoding") === null) {
122
+ // Called outside the `try`: a spent reader throws synchronously, and that throw is the app's.
123
+ // A Request the app already read or locked rejects instead. Only a read that disturbed an unused
124
+ // body failed on the client's side; Bun marks a locked body used, Node and Deno leave it unused.
125
+ const usedBefore = req.bodyUsed;
126
+ const bytesReader = req.bytes;
127
+ const reading = bytesReader === undefined
128
+ ? req.arrayBuffer().then((buffer) => new Uint8Array(buffer))
129
+ : bytesReader.call(req);
130
+ let bytes;
131
+ try {
132
+ bytes = await reading;
133
+ }
134
+ catch (error) {
135
+ if (fromClient && usedBefore !== true && req.bodyUsed !== false)
136
+ return UNREADABLE;
137
+ throw error;
120
138
  }
139
+ // Content-Length was the fast-reject hint, never the enforcement: a lying or buffering
140
+ // source (an adapter that decoded/expanded the body upstream) can hand over more bytes
141
+ // than it declared. `length <= maxBytes` held above, so one comparison seals the cap.
142
+ if (bytes.byteLength > length)
143
+ return TOO_LARGE;
144
+ return { ok: true, bytes };
121
145
  }
122
146
  const body = req.body;
123
147
  if (body === null)
124
148
  return { ok: true, bytes: new Uint8Array(0) };
125
- return drainCapped(body, maxBytes);
149
+ const lockedByApp = body.locked;
150
+ const draining = drainCapped(body, maxBytes);
151
+ return fromClient && !lockedByApp ? draining.catch(() => UNREADABLE) : draining;
126
152
  }
127
153
  /** Key under which a transport-capped request stashes its {@link RawBodyReaders}. */
128
154
  export const RAW_BODY_READERS = Symbol("nifra.body.rawReaders");
@@ -157,13 +183,34 @@ export function hasTrustedBodyFraming(source) {
157
183
  /** A capped request/source is capped exactly once; re-entry is a no-op. */
158
184
  const TRANSPORT_CAPPED = new WeakSet();
159
185
  const CAP_DECODER = new TextDecoder();
186
+ // The error a capped `json()` or `formData()` raised on the request's own bytes, kept as the
187
+ // `Request` reader rejects so app code that catches it is unchanged, with the code it answers. One
188
+ // the app lets escape is the client's 400.
189
+ const CLIENT_BODY_ERRORS = new WeakMap();
190
+ /** The 400 code for a request body a capped reader could not parse, or `undefined` for any other error. */
191
+ export const clientBodyErrorCode = (err) => err instanceof Error ? CLIENT_BODY_ERRORS.get(err) : undefined;
192
+ function parseClientJson(bytes) {
193
+ try {
194
+ return JSON.parse(CAP_DECODER.decode(bytes));
195
+ }
196
+ catch (error) {
197
+ if (error instanceof Error)
198
+ CLIENT_BODY_ERRORS.set(error, "invalid_json");
199
+ throw error;
200
+ }
201
+ }
202
+ function clientFormError(error) {
203
+ if (error instanceof Error)
204
+ CLIENT_BODY_ERRORS.set(error, "invalid_form");
205
+ throw error;
206
+ }
160
207
  /** Key under which the dispatcher marks a source with its route's transport byte cap. */
161
208
  const TRANSPORT_CAP = Symbol("nifra.body.transportCap");
162
209
  /** The transport cap's over-cap rejection: the flat error a shadowed direct reader throws (and the
163
210
  * capped `body` stream errors with). The lifecycle already treats a thrown `Response` as control
164
211
  * flow (the `c.boundedBody` contract), so an over-cap direct read answers 413 like every other cap. */
165
- function transportCapError(status) {
166
- return jsonError(status, status === 413 ? "payload_too_large" : "invalid_content_length");
212
+ function transportCapError(failure) {
213
+ return jsonError(failure.status, failure.error);
167
214
  }
168
215
  /**
169
216
  * A copy of `request` whose body errors with the transport cap's `413` once more than `maxBytes`
@@ -182,12 +229,12 @@ export function capBodyBytes(request, maxBytes) {
182
229
  body: body.pipeThrough(new TransformStream({
183
230
  start(controller) {
184
231
  if (length === undefined || length > maxBytes)
185
- controller.error(transportCapError(length === undefined ? 400 : 413));
232
+ controller.error(transportCapError(length === undefined ? BAD_LENGTH : TOO_LARGE));
186
233
  },
187
234
  transform(chunk, controller) {
188
235
  total += chunk.byteLength;
189
236
  if (total > maxBytes)
190
- controller.error(transportCapError(413));
237
+ controller.error(transportCapError(TOO_LARGE));
191
238
  else
192
239
  controller.enqueue(chunk);
193
240
  },
@@ -235,7 +282,7 @@ function spendRaw(raw) {
235
282
  Object.assign(raw, { arrayBuffer: spent, bytes: spent, json: spent });
236
283
  Object.defineProperty(raw, "body", { get: spent });
237
284
  }
238
- /** A pass-through stream that errors (with `reject(413)`) once more than `maxBytes` flow through. */
285
+ /** A pass-through stream that errors (with `reject` of a 413) once more than `maxBytes` flow through. */
239
286
  function cappedStreamOf(body, maxBytes, reject) {
240
287
  let reader;
241
288
  let total = 0;
@@ -253,7 +300,7 @@ function cappedStreamOf(body, maxBytes, reject) {
253
300
  // Not awaited, as in drainCapped: on a teed body the cancel settles only once the other
254
301
  // branch is read or cancelled too, and the 413 must not wait for an unread clone.
255
302
  active.cancel().catch(() => { });
256
- controller.error(reject(413));
303
+ controller.error(reject(TOO_LARGE));
257
304
  return;
258
305
  }
259
306
  controller.enqueue(value);
@@ -270,8 +317,9 @@ function cappedStreamOf(body, maxBytes, reject) {
270
317
  * pre-decoded body), and hook-observed references all survive. Nothing is read eagerly: the cap
271
318
  * only pays when user code actually reads, and framework readers bypass it through
272
319
  * {@link rawBodySourceOf} (stashed under {@link RAW_BODY_READERS}) to enforce their own caps.
273
- * An over-cap read rejects with `reject(413)` (a lying `Content-Length` with `reject(400)`), which
274
- * the lifecycle already treats as control flow - the same contract as `c.boundedBody`.
320
+ * An over-cap read rejects with the cap's flat 413 (a lying `Content-Length` with its 400, a body
321
+ * that fails mid-read with 400 `invalid_body`), which the lifecycle already treats as control flow -
322
+ * the same contract as `c.boundedBody`.
275
323
  */
276
324
  /** The request's own pre-shadow readers - the fallback surface when the source offers none. */
277
325
  function requestBodyReaders(request) {
@@ -285,6 +333,9 @@ function requestBodyReaders(request) {
285
333
  ? bodyDescriptor.get.call(request)
286
334
  : (bodyDescriptor?.value ?? null));
287
335
  },
336
+ get bodyUsed() {
337
+ return request.bodyUsed;
338
+ },
288
339
  arrayBuffer: request.arrayBuffer.bind(request),
289
340
  json: request.json.bind(request),
290
341
  };
@@ -298,6 +349,9 @@ function capRequestBodyReads(request, maxBytes, preset) {
298
349
  TRANSPORT_CAPPED.add(request);
299
350
  const reject = transportCapError;
300
351
  const raw = preset ?? requestBodyReaders(request);
352
+ // The shadowed readers read through `raw`, which must still say where the body came from.
353
+ if (hasTrustedBodyFraming(request))
354
+ markTrustedBodyFraming(raw);
301
355
  // One bounded buffer backs every shadowed reader; a second read replays it instead of failing
302
356
  // with "body already used" (a strict superset of the native one-shot contract).
303
357
  let buffered;
@@ -305,7 +359,7 @@ function capRequestBodyReads(request, maxBytes, preset) {
305
359
  if (buffered === undefined) {
306
360
  const read = readBoundedBytes(raw, maxBytes).then((result) => {
307
361
  if (!result.ok)
308
- throw reject(result.status);
362
+ throw reject(result);
309
363
  return result.bytes;
310
364
  });
311
365
  buffered = read;
@@ -335,14 +389,16 @@ function capRequestBodyReads(request, maxBytes, preset) {
335
389
  shadowed[RAW_BODY_READERS] = raw;
336
390
  shadowed.arrayBuffer = () => cappedBytes().then(exactArrayBuffer);
337
391
  shadowed.bytes = () => cappedBytes().then((bytes) => bytes.slice());
338
- shadowed.json = () => cappedBytes().then((bytes) => JSON.parse(CAP_DECODER.decode(bytes)));
392
+ shadowed.json = () => cappedBytes().then(parseClientJson);
339
393
  shadowed.text = () => cappedBytes().then((bytes) => CAP_DECODER.decode(bytes));
340
394
  shadowed.blob = () => cappedBytes().then((bytes) => new Blob([exactArrayBuffer(bytes)], {
341
395
  type: request.headers.get("content-type") ?? "",
342
396
  }));
343
397
  shadowed.formData = () => cappedBytes().then((bytes) => new Response(exactArrayBuffer(bytes), {
344
398
  headers: { "content-type": request.headers.get("content-type") ?? "" },
345
- }).formData());
399
+ })
400
+ .formData()
401
+ .catch(clientFormError));
346
402
  // `clone()` must not mint an uncapped escape hatch: the clone gets the same cap.
347
403
  if (typeof request.clone === "function") {
348
404
  // Node's lib typing returns undici's `Request` here; at runtime it's the same object shape.
@@ -411,11 +467,8 @@ export function applyTransportCap(source, request) {
411
467
  return;
412
468
  const provide = source.rawBodyReaders;
413
469
  const preset = provide === undefined ? undefined : provide.call(source);
414
- // The null-body shortcut is only worth its probe when there is no cheaper surface: on a source
415
- // that defers its `Request`, reading `request.body` would materialize the very object the preset
416
- // readers exist to avoid. Capping a bodiless request costs nothing but the shadowing itself.
417
- if (preset === undefined && request.body === null)
418
- return;
470
+ // A bodiless request is capped too: its `json()` must fail the way a capped one does, as a client
471
+ // input error, and Bun.serve hands over `Content-Length: 0` with no body where others give one.
419
472
  capRequestBodyReads(request, maxBytes, preset);
420
473
  // A wrapper source (Node's lazy source) delegates its own body readers to the request once it
421
474
  // materializes - which are now the shadowed ones. Mirror the raw-reader stash onto the source so
@@ -1 +1 @@
1
- {"version":3,"file":"body.js","sourceRoot":"","sources":["../../src/server/body.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../../src/server/body.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"core-copies.d.ts","sourceRoot":"","sources":["../../src/server/core-copies.ts"],"names":[],"mappings":"AA2BA;oGACoG;AACpG,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAgBD;;oGAEoG;AACpG,wBAAgB,YAAY,IAAI,MAAM,CAUrC"}
1
+ {"version":3,"file":"core-copies.d.ts","sourceRoot":"","sources":["../../src/server/core-copies.ts"],"names":[],"mappings":"AA8BA;oGACoG;AACpG,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAgBD;;oGAEoG;AACpG,wBAAgB,YAAY,IAAI,MAAM,CAUrC"}
@@ -15,11 +15,14 @@ registry[COPIES] ??= [];
15
15
  const copies = registry[COPIES];
16
16
  const here = String(import.meta.url).split("?")[0];
17
17
  if (!copies.includes(here) && copies.push(here) > 1) {
18
- console.warn(`[nifra] @nifrajs/core is loaded ${copies.length} times; \`nifra check\` names each importer:\n ${copies.join("\n ")}`);
18
+ // The registrar marks the process when it installs; without the mark a declared singleCopy was never
19
+ // armed here, most often because bunfig.toml's preload line sits below a [table] header. Bun-only and
20
+ // behind the inline NODE_ENV literal, so a production bundle drops the hint.
21
+ console.warn(`[nifra] @nifrajs/core is loaded ${copies.length} times; \`nifra check\` names each importer:\n ${copies.join("\n ")}${typeof Bun !== "undefined" && process.env.NODE_ENV !== "production" && !(Symbol.for("nifra.single-copy.active") in globalThis) ? "\n No single-copy registrar ran in this process: bunfig.toml must preload @nifrajs/core/single-copy/register at its top level, above any [table], for bun run, and under [test] for bun test." : ""}`);
19
22
  }
20
23
  /** This copy's version: a literal like the package root's `VERSION` (no fs on the edge), which
21
24
  * `scripts/version.ts` rewrites on every release and `check:publish` asserts. */
22
- const COPY_VERSION = "5.5.1";
25
+ const COPY_VERSION = "5.7.0";
23
26
  /** Record this copy's version beside its URL. Called by each `server()` behind the development guard,
24
27
  * so a production bundle drops it with the version; a copy that built a server has recorded one. */
25
28
  export function recordCopyVersion() {
@@ -1 +1 @@
1
- {"version":3,"file":"core-copies.js","sourceRoot":"","sources":["../../src/server/core-copies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,QAAQ,GAAG,UAA6D,CAAA;AAC9E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;AAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;AACvD,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;AACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAW,CAAA;AAE5D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACpD,OAAO,CAAC,IAAI,CACV,mCAAmC,MAAM,CAAC,MAAM,mDAAmD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACzH,CAAA;AACH,CAAC;AAED;iFACiF;AACjF,MAAM,YAAY,GAAG,OAAO,CAAA;AAE5B;oGACoG;AACpG,MAAM,UAAU,iBAAiB;IAC/B,aAAa,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;AACzC,CAAC;AAED,6DAA6D;AAC7D,MAAM,aAAa,GAAG,GAA0B,EAAE;IAChD,MAAM,KAAK,GAAY,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACxD,IAAI,KAAK,YAAY,GAAG;QAAE,OAAO,KAAK,CAAA;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAA;IAC3C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAU,EAAE;IACvC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACxC,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;AAClE,CAAC,CAAA;AAED;;oGAEoG;AACpG,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,6DAA6D,CAAA;IAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAA;IACnD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACpC,OAAO;QACL,GAAG,IAAI,SAAS,MAAM,CAAC,MAAM,qBAAqB;QAClD,iBAAiB,QAAQ,CAAC,IAAI,CAAC,EAAE;QACjC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxD,gQAAgQ;KACjQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"core-copies.js","sourceRoot":"","sources":["../../src/server/core-copies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,QAAQ,GAAG,UAA6D,CAAA;AAC9E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;AAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;AACvD,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;AACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAW,CAAA;AAE5D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACpD,qGAAqG;IACrG,sGAAsG;IACtG,6EAA6E;IAC7E,OAAO,CAAC,IAAI,CACV,mCAAmC,MAAM,CAAC,MAAM,mDAAmD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,GAAG,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,gMAAgM,CAAC,CAAC,CAAC,EAAE,EAAE,CAClc,CAAA;AACH,CAAC;AAED;iFACiF;AACjF,MAAM,YAAY,GAAG,OAAO,CAAA;AAE5B;oGACoG;AACpG,MAAM,UAAU,iBAAiB;IAC/B,aAAa,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;AACzC,CAAC;AAED,6DAA6D;AAC7D,MAAM,aAAa,GAAG,GAA0B,EAAE;IAChD,MAAM,KAAK,GAAY,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACxD,IAAI,KAAK,YAAY,GAAG;QAAE,OAAO,KAAK,CAAA;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAA;IAC3C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAU,EAAE;IACvC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACxC,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;AAClE,CAAC,CAAA;AAED;;oGAEoG;AACpG,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,6DAA6D,CAAA;IAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAA;IACnD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACpC,OAAO;QACL,GAAG,IAAI,SAAS,MAAM,CAAC,MAAM,qBAAqB;QAClD,iBAAiB,QAAQ,CAAC,IAAI,CAAC,EAAE;QACjC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxD,gQAAgQ;KACjQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,mBAAmB,CAAA;AAE/E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAevD;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAsBxD;AAED,iFAAiF;AACjF,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,QAAQ,CAKV;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,cAAc,CAEhB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAMD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAwBhD;AAKD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAc9C"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,mBAAmB,CAAA;AAE/E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAevD;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAsBxD;AAED,iFAAiF;AACjF,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,QAAQ,CAKV;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,cAAc,CAEhB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAMD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAehD;AAKD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAc9C"}
@@ -96,28 +96,17 @@ export function plainError(status, error, headers) {
96
96
  // Extract pathname + query WITHOUT a full WHATWG `new URL(req.url)` parse.
97
97
  // `req.url` from every supported runtime is an absolute, already-normalized URL, so the pathname is
98
98
  // the substring after `scheme://host[:port]` up to `?`/`#`. Query-schema routes also need the search
99
- // string; parsing both in one scanner avoids the old `pathnameOf()` + `searchOf()` double scan.
99
+ // string; splitting both together avoids the old `pathnameOf()` + `searchOf()` repeated parsing.
100
100
  export function urlPartsOf(url) {
101
101
  const schemeEnd = url.indexOf("://");
102
102
  const start = schemeEnd === -1 ? url.indexOf("/") : url.indexOf("/", schemeEnd + 3);
103
103
  if (start === -1)
104
104
  return { pathname: "/", search: "" };
105
- let pathEnd = url.length;
106
- let searchStart = -1;
107
- let searchEnd = url.length;
108
- for (let i = start; i < url.length; i++) {
109
- const c = url.charCodeAt(i);
110
- if (c === 63 /* ? */ && searchStart === -1) {
111
- pathEnd = i;
112
- searchStart = i;
113
- }
114
- else if (c === 35 /* # */) {
115
- if (searchStart === -1)
116
- pathEnd = i;
117
- searchEnd = i;
118
- break;
119
- }
120
- }
105
+ const fragment = url.indexOf("#", start);
106
+ const searchEnd = fragment === -1 ? url.length : fragment;
107
+ const question = url.indexOf("?", start);
108
+ const searchStart = question !== -1 && question < searchEnd ? question : -1;
109
+ const pathEnd = searchStart === -1 ? searchEnd : searchStart;
121
110
  return {
122
111
  pathname: url.slice(start, pathEnd),
123
112
  search: searchStart === -1 ? "" : url.slice(searchStart, searchEnd),
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export declare const INSTALL_RESPONSE_CONTRACT: unique symbol;
22
22
  export declare const INSTALL_RESPONSE_OBSERVER: unique symbol;
23
23
  /** @internal Resolve a native mount for an adapter that can keep the request on its own stream lane. */
24
24
  export declare const RESOLVE_NODE_MOUNT: unique symbol;
25
+ /** @internal Run a server's `onStopping` or `onStop` hooks; see `Server.stop()`. */
26
+ export declare const SERVER_LIFECYCLE: unique symbol;
25
27
  /** @internal Marker on a mounted handler that knows how to serve a native Node request/response. */
26
28
  export declare const NODE_NATIVE_MOUNT: unique symbol;
27
29
  //# sourceMappingURL=install.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/server/install.ts"],"names":[],"mappings":"AAUA,oGAAoG;AACpG,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAAwD,CAAA;AAEjG,uGAAuG;AACvG,eAAO,MAAM,qBAAqB,EAAE,OAAO,MAE1C,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,WAAW,EAAE,OAAO,MAAgD,CAAA;AAEjF,8FAA8F;AAC9F,eAAO,MAAM,WAAW,EAAE,OAAO,MAAgD,CAAA;AAEjF,oGAAoG;AACpG,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAAwD,CAAA;AAEjG,2FAA2F;AAC3F,eAAO,MAAM,YAAY,EAAE,OAAO,MAAiD,CAAA;AAEnF,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,EAAE,OAAO,MAAsD,CAAA;AAE7F,gGAAgG;AAChG,eAAO,MAAM,UAAU,EAAE,OAAO,MAA+C,CAAA;AAE/E,oGAAoG;AACpG,eAAO,MAAM,cAAc,EAAE,OAAO,MAAmD,CAAA;AAEvF,+GAA+G;AAC/G,eAAO,MAAM,yBAAyB,EAAE,OAAO,MAE9C,CAAA;AAED,oEAAoE;AACpE,eAAO,MAAM,yBAAyB,EAAE,OAAO,MAE9C,CAAA;AAED,wGAAwG;AACxG,eAAO,MAAM,kBAAkB,EAAE,OAAO,MAEvC,CAAA;AAED,oGAAoG;AACpG,eAAO,MAAM,iBAAiB,EAAE,OAAO,MAAsD,CAAA"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/server/install.ts"],"names":[],"mappings":"AAUA,oGAAoG;AACpG,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAAwD,CAAA;AAEjG,uGAAuG;AACvG,eAAO,MAAM,qBAAqB,EAAE,OAAO,MAE1C,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,WAAW,EAAE,OAAO,MAAgD,CAAA;AAEjF,8FAA8F;AAC9F,eAAO,MAAM,WAAW,EAAE,OAAO,MAAgD,CAAA;AAEjF,oGAAoG;AACpG,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAAwD,CAAA;AAEjG,2FAA2F;AAC3F,eAAO,MAAM,YAAY,EAAE,OAAO,MAAiD,CAAA;AAEnF,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,EAAE,OAAO,MAAsD,CAAA;AAE7F,gGAAgG;AAChG,eAAO,MAAM,UAAU,EAAE,OAAO,MAA+C,CAAA;AAE/E,oGAAoG;AACpG,eAAO,MAAM,cAAc,EAAE,OAAO,MAAmD,CAAA;AAEvF,+GAA+G;AAC/G,eAAO,MAAM,yBAAyB,EAAE,OAAO,MAE9C,CAAA;AAED,oEAAoE;AACpE,eAAO,MAAM,yBAAyB,EAAE,OAAO,MAE9C,CAAA;AAED,wGAAwG;AACxG,eAAO,MAAM,kBAAkB,EAAE,OAAO,MAEvC,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,EAAE,OAAO,MAAqD,CAAA;AAE3F,oGAAoG;AACpG,eAAO,MAAM,iBAAiB,EAAE,OAAO,MAAsD,CAAA"}
@@ -31,6 +31,8 @@ export const INSTALL_RESPONSE_CONTRACT = Symbol.for("@nifrajs/core/install-respo
31
31
  export const INSTALL_RESPONSE_OBSERVER = Symbol.for("@nifrajs/core/install-response-observer");
32
32
  /** @internal Resolve a native mount for an adapter that can keep the request on its own stream lane. */
33
33
  export const RESOLVE_NODE_MOUNT = Symbol.for(NODE_BRIDGE_MARKER_KEYS.resolveNodeMount);
34
+ /** @internal Run a server's `onStopping` or `onStop` hooks; see `Server.stop()`. */
35
+ export const SERVER_LIFECYCLE = Symbol.for("@nifrajs/core/server-lifecycle");
34
36
  /** @internal Marker on a mounted handler that knows how to serve a native Node request/response. */
35
37
  export const NODE_NATIVE_MOUNT = Symbol.for("@nifrajs/core/node-native-mount");
36
38
  //# sourceMappingURL=install.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/server/install.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,oGAAoG;AACpG,MAAM,CAAC,MAAM,mBAAmB,GAAkB,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;AAEjG,uGAAuG;AACvG,MAAM,CAAC,MAAM,qBAAqB,GAAkB,MAAM,CAAC,GAAG,CAC5D,qCAAqC,CACtC,CAAA;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,WAAW,GAAkB,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAEjF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,WAAW,GAAkB,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAEjF,oGAAoG;AACpG,MAAM,CAAC,MAAM,mBAAmB,GAAkB,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;AAEjG,2FAA2F;AAC3F,MAAM,CAAC,MAAM,YAAY,GAAkB,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAEnF,4FAA4F;AAC5F,MAAM,CAAC,MAAM,iBAAiB,GAAkB,MAAM,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;AAE7F,gGAAgG;AAChG,MAAM,CAAC,MAAM,UAAU,GAAkB,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;AAE/E,oGAAoG;AACpG,MAAM,CAAC,MAAM,cAAc,GAAkB,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;AAEvF,+GAA+G;AAC/G,MAAM,CAAC,MAAM,yBAAyB,GAAkB,MAAM,CAAC,GAAG,CAChE,yCAAyC,CAC1C,CAAA;AAED,oEAAoE;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAkB,MAAM,CAAC,GAAG,CAChE,yCAAyC,CAC1C,CAAA;AAED,wGAAwG;AACxG,MAAM,CAAC,MAAM,kBAAkB,GAAkB,MAAM,CAAC,GAAG,CACzD,uBAAuB,CAAC,gBAAgB,CACzC,CAAA;AAED,oGAAoG;AACpG,MAAM,CAAC,MAAM,iBAAiB,GAAkB,MAAM,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/server/install.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,oGAAoG;AACpG,MAAM,CAAC,MAAM,mBAAmB,GAAkB,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;AAEjG,uGAAuG;AACvG,MAAM,CAAC,MAAM,qBAAqB,GAAkB,MAAM,CAAC,GAAG,CAC5D,qCAAqC,CACtC,CAAA;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,WAAW,GAAkB,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAEjF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,WAAW,GAAkB,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAEjF,oGAAoG;AACpG,MAAM,CAAC,MAAM,mBAAmB,GAAkB,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;AAEjG,2FAA2F;AAC3F,MAAM,CAAC,MAAM,YAAY,GAAkB,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAEnF,4FAA4F;AAC5F,MAAM,CAAC,MAAM,iBAAiB,GAAkB,MAAM,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;AAE7F,gGAAgG;AAChG,MAAM,CAAC,MAAM,UAAU,GAAkB,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;AAE/E,oGAAoG;AACpG,MAAM,CAAC,MAAM,cAAc,GAAkB,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;AAEvF,+GAA+G;AAC/G,MAAM,CAAC,MAAM,yBAAyB,GAAkB,MAAM,CAAC,GAAG,CAChE,yCAAyC,CAC1C,CAAA;AAED,oEAAoE;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAkB,MAAM,CAAC,GAAG,CAChE,yCAAyC,CAC1C,CAAA;AAED,wGAAwG;AACxG,MAAM,CAAC,MAAM,kBAAkB,GAAkB,MAAM,CAAC,GAAG,CACzD,uBAAuB,CAAC,gBAAgB,CACzC,CAAA;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAAkB,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;AAE3F,oGAAoG;AACpG,MAAM,CAAC,MAAM,iBAAiB,GAAkB,MAAM,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** `Response.json`, with each `bigint` written as its decimal string, as `jsonText` writes it. */
2
+ export declare function jsonResponse(value: unknown, init?: ResponseInit): Response;
3
+ //# sourceMappingURL=json-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-response.d.ts","sourceRoot":"","sources":["../../src/server/json-response.ts"],"names":[],"mappings":"AAEA,kGAAkG;AAClG,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAS1E"}
@@ -0,0 +1,14 @@
1
+ import { retried } from "./json-text.js";
2
+ /** `Response.json`, with each `bigint` written as its decimal string, as `jsonText` writes it. */
3
+ export function jsonResponse(value, init) {
4
+ try {
5
+ return Response.json(value, init);
6
+ }
7
+ catch (error) {
8
+ const text = retried(value, error);
9
+ // Parsed back so the runtime's own `Response.json` still picks the content-type, and still
10
+ // throws for a value with no JSON form.
11
+ return Response.json(typeof text === "string" ? JSON.parse(text) : value, init);
12
+ }
13
+ }
14
+ //# sourceMappingURL=json-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-response.js","sourceRoot":"","sources":["../../src/server/json-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,kGAAkG;AAClG,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,IAAmB;IAC9D,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAClC,2FAA2F;QAC3F,wCAAwC;QACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACjF,CAAC;AACH,CAAC"}