@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.
- package/CHANGELOG.md +246 -0
- package/README.md +5 -0
- package/dist/assurance.d.ts.map +1 -1
- package/dist/assurance.js.map +1 -1
- package/dist/binary.d.ts +15 -1
- package/dist/binary.d.ts.map +1 -1
- package/dist/binary.js +1 -0
- package/dist/binary.js.map +1 -1
- package/dist/edge-kit.d.ts +1 -0
- package/dist/edge-kit.d.ts.map +1 -1
- package/dist/edge-kit.js +1 -0
- package/dist/edge-kit.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/evidence.d.ts +4 -0
- package/dist/evidence.d.ts.map +1 -1
- package/dist/evidence.js +4 -0
- package/dist/evidence.js.map +1 -1
- package/dist/file-type.d.ts +30 -0
- package/dist/file-type.d.ts.map +1 -0
- package/dist/file-type.js +118 -0
- package/dist/file-type.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/hook-origins.d.ts +2 -0
- package/dist/internal/hook-origins.d.ts.map +1 -1
- package/dist/internal/hook-origins.js +12 -0
- package/dist/internal/hook-origins.js.map +1 -1
- package/dist/internal/route-program.d.ts +11 -0
- package/dist/internal/route-program.d.ts.map +1 -1
- package/dist/internal/route-program.js +133 -85
- package/dist/internal/route-program.js.map +1 -1
- package/dist/reflection.d.ts +19 -1
- package/dist/reflection.d.ts.map +1 -1
- package/dist/reflection.js +46 -7
- package/dist/reflection.js.map +1 -1
- package/dist/response-observer.d.ts +1 -0
- package/dist/response-observer.d.ts.map +1 -1
- package/dist/response-observer.js +1 -0
- package/dist/response-observer.js.map +1 -1
- package/dist/server/answer-step.d.ts +27 -0
- package/dist/server/answer-step.d.ts.map +1 -0
- package/dist/server/answer-step.js +33 -0
- package/dist/server/answer-step.js.map +1 -0
- package/dist/server/bare-error-lane.d.ts +4 -1
- package/dist/server/bare-error-lane.d.ts.map +1 -1
- package/dist/server/bare-error-lane.js +9 -3
- package/dist/server/bare-error-lane.js.map +1 -1
- package/dist/server/base64-answers.d.ts +5 -0
- package/dist/server/base64-answers.d.ts.map +1 -0
- package/dist/server/base64-answers.js +132 -0
- package/dist/server/base64-answers.js.map +1 -0
- package/dist/server/before-handler.d.ts +10 -0
- package/dist/server/before-handler.d.ts.map +1 -0
- package/dist/server/before-handler.js +12 -0
- package/dist/server/before-handler.js.map +1 -0
- package/dist/server/body-lane.d.ts.map +1 -1
- package/dist/server/body-lane.js +8 -2
- package/dist/server/body-lane.js.map +1 -1
- package/dist/server/body-parser.d.ts.map +1 -1
- package/dist/server/body-parser.js +2 -5
- package/dist/server/body-parser.js.map +1 -1
- package/dist/server/body.d.ts +24 -8
- package/dist/server/body.d.ts.map +1 -1
- package/dist/server/body.js +86 -33
- package/dist/server/body.js.map +1 -1
- package/dist/server/core-copies.d.ts.map +1 -1
- package/dist/server/core-copies.js +5 -2
- package/dist/server/core-copies.js.map +1 -1
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +6 -17
- package/dist/server/http.js.map +1 -1
- package/dist/server/install.d.ts +2 -0
- package/dist/server/install.d.ts.map +1 -1
- package/dist/server/install.js +2 -0
- package/dist/server/install.js.map +1 -1
- package/dist/server/json-response.d.ts +3 -0
- package/dist/server/json-response.d.ts.map +1 -0
- package/dist/server/json-response.js +14 -0
- package/dist/server/json-response.js.map +1 -0
- package/dist/server/json-text.d.ts +16 -0
- package/dist/server/json-text.d.ts.map +1 -0
- package/dist/server/json-text.js +34 -0
- package/dist/server/json-text.js.map +1 -0
- package/dist/server/multipart.d.ts +3 -0
- package/dist/server/multipart.d.ts.map +1 -1
- package/dist/server/multipart.js +226 -97
- package/dist/server/multipart.js.map +1 -1
- package/dist/server/node-outcome.d.ts +5 -0
- package/dist/server/node-outcome.d.ts.map +1 -1
- package/dist/server/node-outcome.js +3 -4
- package/dist/server/node-outcome.js.map +1 -1
- package/dist/server/proto-guard.d.ts.map +1 -1
- package/dist/server/proto-guard.js +39 -4
- package/dist/server/proto-guard.js.map +1 -1
- package/dist/server/query.d.ts.map +1 -1
- package/dist/server/query.js +8 -14
- package/dist/server/query.js.map +1 -1
- package/dist/server/repeated-prefix.d.ts +17 -0
- package/dist/server/repeated-prefix.d.ts.map +1 -0
- package/dist/server/repeated-prefix.js +17 -0
- package/dist/server/repeated-prefix.js.map +1 -0
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/request-context.js +5 -5
- package/dist/server/request-context.js.map +1 -1
- package/dist/server/respond.d.ts +3 -4
- package/dist/server/respond.d.ts.map +1 -1
- package/dist/server/respond.js +45 -37
- package/dist/server/respond.js.map +1 -1
- package/dist/server/response-contract-lane.d.ts +12 -2
- package/dist/server/response-contract-lane.d.ts.map +1 -1
- package/dist/server/response-contract-lane.js +137 -9
- package/dist/server/response-contract-lane.js.map +1 -1
- package/dist/server/route-template.d.ts +10 -0
- package/dist/server/route-template.d.ts.map +1 -0
- package/dist/server/route-template.js +21 -0
- package/dist/server/route-template.js.map +1 -0
- package/dist/server/runtime-core.d.ts +7 -0
- package/dist/server/runtime-core.d.ts.map +1 -1
- package/dist/server/runtime-core.js +10 -2
- package/dist/server/runtime-core.js.map +1 -1
- package/dist/server/server-types.d.ts +17 -8
- package/dist/server/server-types.d.ts.map +1 -1
- package/dist/server/server.d.ts +27 -12
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +326 -108
- package/dist/server/server.js.map +1 -1
- package/dist/server/sse.d.ts +1 -1
- package/dist/server/sse.d.ts.map +1 -1
- package/dist/server/sse.js +7 -5
- package/dist/server/sse.js.map +1 -1
- package/dist/server/text-slots.d.ts +8 -0
- package/dist/server/text-slots.d.ts.map +1 -0
- package/dist/server/text-slots.js +19 -0
- package/dist/server/text-slots.js.map +1 -0
- package/dist/server/webhook.d.ts +1 -1
- package/dist/server/webhook.d.ts.map +1 -1
- package/dist/server/webhook.js +24 -19
- package/dist/server/webhook.js.map +1 -1
- package/dist/server/websocket.d.ts +18 -3
- package/dist/server/websocket.d.ts.map +1 -1
- package/dist/server/websocket.js +45 -5
- package/dist/server/websocket.js.map +1 -1
- package/dist/server/ws-bun.d.ts.map +1 -1
- package/dist/server/ws-bun.js +7 -4
- package/dist/server/ws-bun.js.map +1 -1
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -1
- package/dist/single-copy.d.ts +5 -0
- package/dist/single-copy.d.ts.map +1 -1
- package/dist/single-copy.js +26 -17
- package/dist/single-copy.js.map +1 -1
- package/dist/tool-cli.d.ts +64 -0
- package/dist/tool-cli.d.ts.map +1 -0
- package/dist/tool-cli.js +495 -0
- package/dist/tool-cli.js.map +1 -0
- package/dist/transport-codec.d.ts.map +1 -1
- package/dist/transport-codec.js +2 -1
- package/dist/transport-codec.js.map +1 -1
- package/package.json +11 -1
- package/src/assurance.ts +1 -0
- package/src/binary.ts +17 -0
- package/src/edge-kit.ts +1 -0
- package/src/errors.ts +1 -0
- package/src/evidence.ts +8 -0
- package/src/file-type.ts +130 -0
- package/src/index.ts +3 -1
- package/src/internal/hook-origins.ts +10 -0
- package/src/internal/route-program.ts +261 -93
- package/src/reflection.ts +71 -7
- package/src/response-observer.ts +6 -0
- package/src/server/answer-step.ts +68 -0
- package/src/server/bare-error-lane.ts +9 -4
- package/src/server/base64-answers.ts +138 -0
- package/src/server/before-handler.ts +14 -0
- package/src/server/body-lane.ts +19 -9
- package/src/server/body-parser.ts +1 -5
- package/src/server/body.ts +96 -36
- package/src/server/core-copies.ts +5 -2
- package/src/server/http.ts +6 -15
- package/src/server/install.ts +3 -0
- package/src/server/json-response.ts +13 -0
- package/src/server/json-text.ts +34 -0
- package/src/server/multipart.ts +232 -100
- package/src/server/node-outcome.ts +4 -5
- package/src/server/proto-guard.ts +39 -4
- package/src/server/query.ts +7 -13
- package/src/server/repeated-prefix.ts +25 -0
- package/src/server/request-context.ts +5 -5
- package/src/server/respond.ts +47 -30
- package/src/server/response-contract-lane.ts +132 -9
- package/src/server/route-template.ts +24 -0
- package/src/server/runtime-core.ts +12 -2
- package/src/server/server-types.ts +18 -6
- package/src/server/server.ts +361 -112
- package/src/server/sse.ts +8 -6
- package/src/server/text-slots.ts +21 -0
- package/src/server/webhook.ts +29 -24
- package/src/server/websocket.ts +57 -8
- package/src/server/ws-bun.ts +7 -3
- package/src/server.ts +2 -0
- package/src/single-copy.ts +31 -15
- package/src/tool-cli.ts +584 -0
- 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
|
|
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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"}
|
package/dist/server/body.d.ts
CHANGED
|
@@ -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
|
|
1
|
+
{"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../src/server/body.ts"],"names":[],"mappings":"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"}
|
package/dist/server/body.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
114
|
+
length = parseContentLength(declared);
|
|
104
115
|
if (length === undefined)
|
|
105
|
-
return
|
|
116
|
+
return BAD_LENGTH;
|
|
106
117
|
if (length > maxBytes)
|
|
107
|
-
return
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
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
|
-
|
|
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(
|
|
166
|
-
return jsonError(status,
|
|
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 ?
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
274
|
-
* the lifecycle already treats as control flow -
|
|
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
|
|
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(
|
|
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
|
-
})
|
|
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
|
-
//
|
|
415
|
-
//
|
|
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
|
package/dist/server/body.js.map
CHANGED
|
@@ -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":"
|
|
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
|
-
|
|
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.
|
|
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,
|
|
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,
|
|
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"}
|
package/dist/server/http.js
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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),
|
package/dist/server/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAuB,MAAM,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAE/E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IAClE,mGAAmG;IACnG,sEAAsE;IACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,IAAI,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,KAAK,CAAA;IAC1E,CAAC;IACD,8FAA8F;IAC9F,gGAAgG;IAChG,sFAAsF;IACtF,OAAO,CACL,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAC9D,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,kGAAkG;IAClG,4DAA4D;IAC5D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS;YACZ,OAAO,IAAI,CAAA;IACf,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5B,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAA;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE;YAAE,SAAQ;QACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;YAAE,SAAQ;QAClE,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,SAAS,CACvB,MAAc,EACd,KAAa,EACb,OAAgC;IAEhC,OAAO,QAAQ,CAAC,IAAI,CAClB,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EACpB,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CACzD,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CACxB,MAAc,EACd,KAAa,EACb,OAAgC;IAEhC,OAAO,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AACpG,CAAC;AAOD,2EAA2E;AAC3E,oGAAoG;AACpG,qGAAqG;AACrG,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAuB,MAAM,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAE/E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IAClE,mGAAmG;IACnG,sEAAsE;IACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,IAAI,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,KAAK,CAAA;IAC1E,CAAC;IACD,8FAA8F;IAC9F,gGAAgG;IAChG,sFAAsF;IACtF,OAAO,CACL,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAC9D,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,kGAAkG;IAClG,4DAA4D;IAC5D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS;YACZ,OAAO,IAAI,CAAA;IACf,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5B,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAA;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE;YAAE,SAAQ;QACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;YAAE,SAAQ;QAClE,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,SAAS,CACvB,MAAc,EACd,KAAa,EACb,OAAgC;IAEhC,OAAO,QAAQ,CAAC,IAAI,CAClB,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EACpB,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CACzD,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CACxB,MAAc,EACd,KAAa,EACb,OAAgC;IAEhC,OAAO,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AACpG,CAAC;AAOD,2EAA2E;AAC3E,oGAAoG;AACpG,qGAAqG;AACrG,iGAAiG;AACjG,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;IACnF,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IAEtD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACxC,MAAM,SAAS,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;IACzD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACxC,MAAM,WAAW,GAAG,QAAQ,KAAK,CAAC,CAAC,IAAI,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3E,MAAM,OAAO,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAA;IAE5D,OAAO;QACL,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;QACnC,MAAM,EAAE,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC;KACpE,CAAA;AACH,CAAC;AAED,kGAAkG;AAClG,iGAAiG;AACjG,+BAA+B;AAC/B,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;IACnF,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,GAAG,CAAA;IAE5B,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAA;IACpB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;YACzC,GAAG,GAAG,CAAC,CAAA;YACP,MAAK;QACP,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAC9B,CAAC"}
|
package/dist/server/install.d.ts
CHANGED
|
@@ -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"}
|
package/dist/server/install.js
CHANGED
|
@@ -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 @@
|
|
|
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"}
|