@c9up/ream 0.1.34 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Application.d.ts +68 -0
- package/dist/Application.d.ts.map +1 -1
- package/dist/Application.js +142 -6
- package/dist/Application.js.map +1 -1
- package/dist/HealthCheck.d.ts +14 -7
- package/dist/HealthCheck.d.ts.map +1 -1
- package/dist/HealthCheck.js +21 -12
- package/dist/HealthCheck.js.map +1 -1
- package/dist/HttpKernel.d.ts +12 -0
- package/dist/HttpKernel.d.ts.map +1 -1
- package/dist/HttpKernel.js +15 -4
- package/dist/HttpKernel.js.map +1 -1
- package/dist/Ignitor.d.ts +8 -0
- package/dist/Ignitor.d.ts.map +1 -1
- package/dist/Ignitor.js +11 -0
- package/dist/Ignitor.js.map +1 -1
- package/dist/bodyparser/BodyParserMiddleware.d.ts +13 -2
- package/dist/bodyparser/BodyParserMiddleware.d.ts.map +1 -1
- package/dist/bodyparser/BodyParserMiddleware.js +50 -30
- package/dist/bodyparser/BodyParserMiddleware.js.map +1 -1
- package/dist/bodyparser/MultipartFile.d.ts +65 -6
- package/dist/bodyparser/MultipartFile.d.ts.map +1 -1
- package/dist/bodyparser/MultipartFile.js +100 -7
- package/dist/bodyparser/MultipartFile.js.map +1 -1
- package/dist/console/BaseCommand.d.ts +8 -1
- package/dist/console/BaseCommand.d.ts.map +1 -1
- package/dist/console/BaseCommand.js +1 -1
- package/dist/console/BaseCommand.js.map +1 -1
- package/dist/console/Kernel.d.ts +15 -0
- package/dist/console/Kernel.d.ts.map +1 -1
- package/dist/console/Kernel.js +17 -0
- package/dist/console/Kernel.js.map +1 -1
- package/dist/directories.d.ts +52 -0
- package/dist/directories.d.ts.map +1 -0
- package/dist/directories.js +38 -0
- package/dist/directories.js.map +1 -0
- package/dist/events/Emitter.d.ts +49 -6
- package/dist/events/Emitter.d.ts.map +1 -1
- package/dist/events/Emitter.js +117 -7
- package/dist/events/Emitter.js.map +1 -1
- package/dist/events/EventsBuffer.d.ts +47 -0
- package/dist/events/EventsBuffer.d.ts.map +1 -0
- package/dist/events/EventsBuffer.js +107 -0
- package/dist/events/EventsBuffer.js.map +1 -0
- package/dist/events/index.d.ts +2 -0
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +1 -0
- package/dist/events/index.js.map +1 -1
- package/dist/health/BaseCheck.d.ts +19 -0
- package/dist/health/BaseCheck.d.ts.map +1 -0
- package/dist/health/BaseCheck.js +24 -0
- package/dist/health/BaseCheck.js.map +1 -0
- package/dist/health/HealthChecks.d.ts +15 -0
- package/dist/health/HealthChecks.d.ts.map +1 -0
- package/dist/health/HealthChecks.js +69 -0
- package/dist/health/HealthChecks.js.map +1 -0
- package/dist/health/Result.d.ts +27 -0
- package/dist/health/Result.d.ts.map +1 -0
- package/dist/health/Result.js +55 -0
- package/dist/health/Result.js.map +1 -0
- package/dist/health/checks/DiskSpaceCheck.d.ts +29 -0
- package/dist/health/checks/DiskSpaceCheck.d.ts.map +1 -0
- package/dist/health/checks/DiskSpaceCheck.js +58 -0
- package/dist/health/checks/DiskSpaceCheck.js.map +1 -0
- package/dist/health/checks/MemoryHeapCheck.d.ts +21 -0
- package/dist/health/checks/MemoryHeapCheck.d.ts.map +1 -0
- package/dist/health/checks/MemoryHeapCheck.js +55 -0
- package/dist/health/checks/MemoryHeapCheck.js.map +1 -0
- package/dist/health/checks/MemoryRSSCheck.d.ts +21 -0
- package/dist/health/checks/MemoryRSSCheck.d.ts.map +1 -0
- package/dist/health/checks/MemoryRSSCheck.js +55 -0
- package/dist/health/checks/MemoryRSSCheck.js.map +1 -0
- package/dist/health/checks/memory.d.ts +24 -0
- package/dist/health/checks/memory.d.ts.map +1 -0
- package/dist/health/checks/memory.js +88 -0
- package/dist/health/checks/memory.js.map +1 -0
- package/dist/health/index.d.ts +9 -0
- package/dist/health/index.d.ts.map +1 -0
- package/dist/health/index.js +8 -0
- package/dist/health/index.js.map +1 -0
- package/dist/health/tracing.d.ts +12 -0
- package/dist/health/tracing.d.ts.map +1 -0
- package/dist/health/tracing.js +11 -0
- package/dist/health/tracing.js.map +1 -0
- package/dist/health/types.d.ts +51 -0
- package/dist/health/types.d.ts.map +1 -0
- package/dist/health/types.js +5 -0
- package/dist/health/types.js.map +1 -0
- package/dist/helpers/bytes.d.ts +28 -0
- package/dist/helpers/bytes.d.ts.map +1 -0
- package/dist/helpers/bytes.js +63 -0
- package/dist/helpers/bytes.js.map +1 -0
- package/dist/helpers/string.d.ts +4 -0
- package/dist/helpers/string.d.ts.map +1 -1
- package/dist/helpers/string.js +2 -0
- package/dist/helpers/string.js.map +1 -1
- package/dist/http/HttpContext.d.ts +30 -2
- package/dist/http/HttpContext.d.ts.map +1 -1
- package/dist/http/HttpContext.js +73 -3
- package/dist/http/HttpContext.js.map +1 -1
- package/dist/http/Request.d.ts +42 -3
- package/dist/http/Request.d.ts.map +1 -1
- package/dist/http/Request.js +51 -7
- package/dist/http/Request.js.map +1 -1
- package/dist/http/Response.d.ts +82 -2
- package/dist/http/Response.d.ts.map +1 -1
- package/dist/http/Response.js +240 -13
- package/dist/http/Response.js.map +1 -1
- package/dist/http/SseStream.d.ts +10 -0
- package/dist/http/SseStream.d.ts.map +1 -1
- package/dist/http/SseStream.js.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/migrations/MigrationRegistry.d.ts +28 -0
- package/dist/migrations/MigrationRegistry.d.ts.map +1 -0
- package/dist/migrations/MigrationRegistry.js +41 -0
- package/dist/migrations/MigrationRegistry.js.map +1 -0
- package/dist/migrations/types.d.ts +64 -0
- package/dist/migrations/types.d.ts.map +1 -0
- package/dist/migrations/types.js +15 -0
- package/dist/migrations/types.js.map +1 -0
- package/dist/router/Router.d.ts +112 -9
- package/dist/router/Router.d.ts.map +1 -1
- package/dist/router/Router.js +206 -28
- package/dist/router/Router.js.map +1 -1
- package/dist/security/CookieSigner.d.ts +43 -4
- package/dist/security/CookieSigner.d.ts.map +1 -1
- package/dist/security/CookieSigner.js +68 -10
- package/dist/security/CookieSigner.js.map +1 -1
- package/dist/session/Session.d.ts +46 -1
- package/dist/session/Session.d.ts.map +1 -1
- package/dist/session/Session.js +57 -4
- package/dist/session/Session.js.map +1 -1
- package/dist/session/SessionMiddleware.d.ts.map +1 -1
- package/dist/session/SessionMiddleware.js +19 -9
- package/dist/session/SessionMiddleware.js.map +1 -1
- package/dist/session/drivers/CookieDriver.d.ts +1 -1
- package/dist/session/drivers/CookieDriver.d.ts.map +1 -1
- package/dist/session/drivers/CookieDriver.js +3 -3
- package/dist/session/drivers/CookieDriver.js.map +1 -1
- package/dist/session/drivers/DatabaseDriver.d.ts +1 -1
- package/dist/session/drivers/DatabaseDriver.d.ts.map +1 -1
- package/dist/session/drivers/DatabaseDriver.js +2 -2
- package/dist/session/drivers/DatabaseDriver.js.map +1 -1
- package/dist/session/drivers/FileDriver.d.ts +1 -1
- package/dist/session/drivers/FileDriver.d.ts.map +1 -1
- package/dist/session/drivers/FileDriver.js +7 -5
- package/dist/session/drivers/FileDriver.js.map +1 -1
- package/dist/session/drivers/MemoryDriver.d.ts +1 -1
- package/dist/session/drivers/MemoryDriver.d.ts.map +1 -1
- package/dist/session/drivers/MemoryDriver.js +1 -1
- package/dist/session/drivers/MemoryDriver.js.map +1 -1
- package/dist/session/drivers/RedisDriver.d.ts +1 -1
- package/dist/session/drivers/RedisDriver.d.ts.map +1 -1
- package/dist/session/drivers/RedisDriver.js +11 -4
- package/dist/session/drivers/RedisDriver.js.map +1 -1
- package/events.win32-x64-msvc.node +0 -0
- package/index.darwin-arm64.node +0 -0
- package/index.darwin-x64.node +0 -0
- package/index.linux-arm64-gnu.node +0 -0
- package/index.linux-x64-gnu.node +0 -0
- package/index.win32-x64-msvc.node +0 -0
- package/package.json +5 -2
- package/scheduler.win32-x64-msvc.node +0 -0
- package/src/Application.ts +169 -6
- package/src/HealthCheck.ts +27 -14
- package/src/HttpKernel.ts +27 -4
- package/src/Ignitor.ts +17 -0
- package/src/bodyparser/BodyParserMiddleware.ts +70 -36
- package/src/bodyparser/MultipartFile.ts +125 -8
- package/src/console/BaseCommand.ts +8 -1
- package/src/console/Kernel.ts +18 -0
- package/src/directories.ts +81 -0
- package/src/events/Emitter.ts +129 -13
- package/src/events/EventsBuffer.ts +131 -0
- package/src/events/index.ts +7 -0
- package/src/health/BaseCheck.ts +30 -0
- package/src/health/HealthChecks.ts +83 -0
- package/src/health/Result.ts +69 -0
- package/src/health/checks/DiskSpaceCheck.ts +69 -0
- package/src/health/checks/MemoryHeapCheck.ts +68 -0
- package/src/health/checks/MemoryRSSCheck.ts +68 -0
- package/src/health/checks/memory.ts +115 -0
- package/src/health/index.ts +13 -0
- package/src/health/tracing.ts +15 -0
- package/src/health/types.ts +51 -0
- package/src/helpers/bytes.ts +71 -0
- package/src/helpers/string.ts +2 -0
- package/src/http/HttpContext.ts +78 -4
- package/src/http/Request.ts +62 -10
- package/src/http/Response.ts +283 -14
- package/src/http/SseStream.ts +10 -0
- package/src/index.ts +27 -1
- package/src/migrations/MigrationRegistry.ts +49 -0
- package/src/migrations/types.ts +68 -0
- package/src/router/Router.ts +241 -32
- package/src/security/CookieSigner.ts +92 -18
- package/src/session/Session.ts +71 -5
- package/src/session/SessionMiddleware.ts +19 -9
- package/src/session/drivers/CookieDriver.ts +4 -4
- package/src/session/drivers/DatabaseDriver.ts +3 -3
- package/src/session/drivers/FileDriver.ts +8 -6
- package/src/session/drivers/MemoryDriver.ts +2 -2
- package/src/session/drivers/RedisDriver.ts +12 -5
- package/tsconfig.app.json +13 -13
- package/tsconfig.base.json +19 -0
- package/tsconfig.client.json +16 -0
- package/tsconfig.package.json +15 -0
package/dist/http/Request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../src/http/Request.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../src/http/Request.ts"],"names":[],"mappings":"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"}
|
package/dist/http/Response.d.ts
CHANGED
|
@@ -43,6 +43,13 @@ export interface CookieOptions {
|
|
|
43
43
|
}
|
|
44
44
|
export declare class Response extends Macroable {
|
|
45
45
|
#private;
|
|
46
|
+
/**
|
|
47
|
+
* The context this response belongs to (AdonisJS `response.ctx`).
|
|
48
|
+
*
|
|
49
|
+
* Wired by HttpContext. Optional because a Response built by hand — a test,
|
|
50
|
+
* a fixture — has no context around it.
|
|
51
|
+
*/
|
|
52
|
+
ctx?: object;
|
|
46
53
|
/**
|
|
47
54
|
* CSP nonce for this request (AdonisJS idiom: `response.nonce`). Seeded by
|
|
48
55
|
* the `@c9up/blackhole` middleware when the CSP uses `@nonce`; `undefined`
|
|
@@ -86,6 +93,12 @@ export declare class Response extends Macroable {
|
|
|
86
93
|
* (valid in JSON, but break JS), so neither the callback nor the payload can
|
|
87
94
|
* inject script.
|
|
88
95
|
*/
|
|
96
|
+
/**
|
|
97
|
+
* Default callback name when `jsonp()` is called without one (AdonisJS reads
|
|
98
|
+
* it from `http.jsonpCallbackName`). Injected by HttpKernel, the same way the
|
|
99
|
+
* cookie signer and signed-URL services are.
|
|
100
|
+
*/
|
|
101
|
+
setJsonpCallbackName(name: string): void;
|
|
89
102
|
jsonp(body: unknown, callbackName?: string): void;
|
|
90
103
|
/** Send a response body. Auto-detects content type if not set. */
|
|
91
104
|
send(data: unknown): void;
|
|
@@ -100,6 +113,8 @@ export declare class Response extends Macroable {
|
|
|
100
113
|
* unambiguous.
|
|
101
114
|
*/
|
|
102
115
|
sendBuffer(buffer: Buffer): void;
|
|
116
|
+
/** @internal Set the ceiling — injected by HttpKernel from its config. */
|
|
117
|
+
setMaxBodyBytes(bytes: number): void;
|
|
103
118
|
/** Send 204 No Content. */
|
|
104
119
|
noContent(): void;
|
|
105
120
|
/** 100 Continue. */
|
|
@@ -184,8 +199,17 @@ export declare class Response extends Macroable {
|
|
|
184
199
|
gatewayTimeout(body?: unknown): void;
|
|
185
200
|
/** 505 httpVersionNotSupported. */
|
|
186
201
|
httpVersionNotSupported(body?: unknown): void;
|
|
187
|
-
/**
|
|
202
|
+
/**
|
|
203
|
+
* Redirect, or get the builder.
|
|
204
|
+
*
|
|
205
|
+
* `redirect()` with no argument hands back the builder to chain on. With a
|
|
206
|
+
* PATH it redirects immediately, as AdonisJS does
|
|
207
|
+
* (`redirect(path, forwardQueryString?, statusCode?)`); `'back'` goes to the
|
|
208
|
+
* referrer. Ream always returned the builder, so `response.redirect('/login')`
|
|
209
|
+
* — the shortest and most obvious spelling — silently did nothing.
|
|
210
|
+
*/
|
|
188
211
|
redirect(): RedirectBuilder;
|
|
212
|
+
redirect(path: string, forwardQueryString?: boolean, statusCode?: number): void;
|
|
189
213
|
/** @internal Set the redirect builder factory (injected by HttpContext). */
|
|
190
214
|
/** Give the response access to the request (wired by HttpContext) — used by `fresh()`. */
|
|
191
215
|
setRequest(request: {
|
|
@@ -220,7 +244,34 @@ export declare class Response extends Macroable {
|
|
|
220
244
|
* @internal Wait for a body still being produced (see {@link stream}). The
|
|
221
245
|
* kernel calls this before serializing; everything else resolves at once.
|
|
222
246
|
*/
|
|
223
|
-
|
|
247
|
+
/**
|
|
248
|
+
* Resolves when a streamed body has finished feeding the socket.
|
|
249
|
+
*
|
|
250
|
+
* Deliberately NOT part of {@link finish}: the response has to reach Rust
|
|
251
|
+
* with its stream id before the body can be attached, so waiting for the
|
|
252
|
+
* pump there would deadlock — and closing the stream first is what made the
|
|
253
|
+
* client see `E_STREAM_UNKNOWN` instead of the file. This is for a test that
|
|
254
|
+
* wants the finished body, and for a shutdown that would rather let an
|
|
255
|
+
* in-flight download end than cut it.
|
|
256
|
+
*/
|
|
257
|
+
streamed(): Promise<void>;
|
|
258
|
+
/**
|
|
259
|
+
* Finalise the response — the terminal step (AdonisJS `response.finish()`).
|
|
260
|
+
*
|
|
261
|
+
* Same role and same guarantees as upstream: idempotent, it stamps the
|
|
262
|
+
* request id, and afterwards nothing more is added to the response. The
|
|
263
|
+
* kernel calls it before reading the response out; an app rarely needs to.
|
|
264
|
+
*
|
|
265
|
+
* NAMED DEVIATION — it returns a promise where upstream returns void, and it
|
|
266
|
+
* writes nothing. Ream never owns the socket: the whole response crosses the
|
|
267
|
+
* NAPI boundary and Rust writes it, so "finish" here means *sealed and ready
|
|
268
|
+
* to hand over* rather than *flushed*. The await is for a body still being
|
|
269
|
+
* produced — `download()` and a buffered `stream()` fill it asynchronously.
|
|
270
|
+
*
|
|
271
|
+
* A STREAMED body is deliberately not awaited: it feeds the socket after the
|
|
272
|
+
* response has been handed over. See {@link streamed}.
|
|
273
|
+
*/
|
|
274
|
+
finish(): Promise<void>;
|
|
224
275
|
/**
|
|
225
276
|
* Send a file to the client (AdonisJS `download`) — reads the file, infers the
|
|
226
277
|
* content-type from its extension, and sends it as a binary body. On a read
|
|
@@ -329,6 +380,35 @@ export declare class Response extends Macroable {
|
|
|
329
380
|
getBody(): string;
|
|
330
381
|
/** @internal Check if response has been finalized. */
|
|
331
382
|
isFinished(): boolean;
|
|
383
|
+
/** Whether the response has been written out. */
|
|
384
|
+
get finished(): boolean;
|
|
385
|
+
/** Whether a body has been set. */
|
|
386
|
+
get hasContent(): boolean;
|
|
387
|
+
/** Whether the body is a stream still being drained. */
|
|
388
|
+
get hasStream(): boolean;
|
|
389
|
+
/** Whether a body of any kind is waiting to go out. */
|
|
390
|
+
get hasLazyBody(): boolean;
|
|
391
|
+
/**
|
|
392
|
+
* Whether the headers have gone out.
|
|
393
|
+
*
|
|
394
|
+
* Ream serialises the whole response across the NAPI boundary in one step,
|
|
395
|
+
* so headers and body leave together: this is true exactly when the response
|
|
396
|
+
* is finished, rather than tracking a separate Node `headersSent`.
|
|
397
|
+
*/
|
|
398
|
+
get headersSent(): boolean;
|
|
399
|
+
/** Whether nothing has been sent yet — the window a middleware can still write in. */
|
|
400
|
+
get isPending(): boolean;
|
|
401
|
+
/**
|
|
402
|
+
* Echo the caller's `x-request-id` back on the response (AdonisJS
|
|
403
|
+
* `setRequestId`).
|
|
404
|
+
*
|
|
405
|
+
* Ream already READS that header into `ctx.id` — validating its shape and
|
|
406
|
+
* generating one when it is missing — but never sent it back, so a caller
|
|
407
|
+
* could not tie a response to the request id it issued. Nothing is echoed
|
|
408
|
+
* when the client sent none: inventing one here would hand back an id the
|
|
409
|
+
* caller never used.
|
|
410
|
+
*/
|
|
411
|
+
setRequestId(): this;
|
|
332
412
|
/** @internal Set body directly (used by redirect, exception handler). */
|
|
333
413
|
setBody(body: string): void;
|
|
334
414
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../src/http/Response.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../src/http/Response.ts"],"names":[],"mappings":"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"}
|
package/dist/http/Response.js
CHANGED
|
@@ -6,11 +6,18 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @implements FR21
|
|
8
8
|
*/
|
|
9
|
-
import {
|
|
9
|
+
import { randomUUID } from 'node:crypto';
|
|
10
|
+
import { createReadStream } from 'node:fs';
|
|
11
|
+
import { readFile, stat } from 'node:fs/promises';
|
|
10
12
|
import { basename } from 'node:path';
|
|
11
13
|
import etag from 'etag';
|
|
12
14
|
import { contentType } from 'mime-types';
|
|
13
15
|
import { durationToSeconds } from '../helpers/duration.js';
|
|
16
|
+
/**
|
|
17
|
+
* Default ceiling on a buffered response body — the same 100MB the Rust layer
|
|
18
|
+
* caps an incoming body at (`MAX_BODY_BYTES` in crates/ream-http/src/server.rs).
|
|
19
|
+
*/
|
|
20
|
+
const DEFAULT_MAX_RESPONSE_BYTES = 100 * 1024 * 1024;
|
|
14
21
|
import { Macroable } from '../utils/Macroable.js';
|
|
15
22
|
import { E_HTTP_REQUEST_ABORTED } from './Exception.js';
|
|
16
23
|
import { openSseStream, } from './SseStream.js';
|
|
@@ -96,13 +103,31 @@ export function unpackCookieValue(raw) {
|
|
|
96
103
|
}
|
|
97
104
|
export class Response extends Macroable {
|
|
98
105
|
#status = 200;
|
|
99
|
-
/** A body still being drained by {@link stream}; awaited by {@link
|
|
106
|
+
/** A body still being drained by {@link stream}; awaited by {@link finish}. */
|
|
100
107
|
#pendingStream;
|
|
108
|
+
/** The detached chunk pump, when one is running. See {@link streamed}. */
|
|
109
|
+
#pumping;
|
|
110
|
+
/** Whether {@link finish} has run — its idempotence guard. */
|
|
111
|
+
#finalised = false;
|
|
101
112
|
#headers = {};
|
|
102
113
|
#cookies = [];
|
|
103
114
|
#body = '';
|
|
104
115
|
#finishCallbacks = [];
|
|
105
116
|
#finished = false;
|
|
117
|
+
/**
|
|
118
|
+
* The context this response belongs to (AdonisJS `response.ctx`).
|
|
119
|
+
*
|
|
120
|
+
* Wired by HttpContext. Optional because a Response built by hand — a test,
|
|
121
|
+
* a fixture — has no context around it.
|
|
122
|
+
*/
|
|
123
|
+
ctx;
|
|
124
|
+
/** Default JSONP callback name (AdonisJS `http.jsonpCallbackName`). */
|
|
125
|
+
#jsonpCallbackName = 'callback';
|
|
126
|
+
/**
|
|
127
|
+
* Ceiling on a buffered response body. Mirrors the 100MB the Rust layer caps
|
|
128
|
+
* an incoming body at, so the two directions are explained the same way.
|
|
129
|
+
*/
|
|
130
|
+
#maxBodyBytes = DEFAULT_MAX_RESPONSE_BYTES;
|
|
106
131
|
#redirectBuilderFactory;
|
|
107
132
|
#streamBackend;
|
|
108
133
|
#streamId;
|
|
@@ -219,7 +244,15 @@ export class Response extends Macroable {
|
|
|
219
244
|
* (valid in JSON, but break JS), so neither the callback nor the payload can
|
|
220
245
|
* inject script.
|
|
221
246
|
*/
|
|
222
|
-
|
|
247
|
+
/**
|
|
248
|
+
* Default callback name when `jsonp()` is called without one (AdonisJS reads
|
|
249
|
+
* it from `http.jsonpCallbackName`). Injected by HttpKernel, the same way the
|
|
250
|
+
* cookie signer and signed-URL services are.
|
|
251
|
+
*/
|
|
252
|
+
setJsonpCallbackName(name) {
|
|
253
|
+
this.#jsonpCallbackName = name;
|
|
254
|
+
}
|
|
255
|
+
jsonp(body, callbackName = this.#jsonpCallbackName) {
|
|
223
256
|
// Sanitise the callback name to identifier-safe characters — the JSONP XSS
|
|
224
257
|
// guard (an attacker-controlled callback must not inject script).
|
|
225
258
|
const safeCallback = callbackName.replace(/[^\w$.]/g, '');
|
|
@@ -273,6 +306,7 @@ export class Response extends Macroable {
|
|
|
273
306
|
* unambiguous.
|
|
274
307
|
*/
|
|
275
308
|
sendBuffer(buffer) {
|
|
309
|
+
this.#assertBodyFits(buffer.length);
|
|
276
310
|
if (!this.#headers['content-type']) {
|
|
277
311
|
this.#headers['content-type'] = 'application/octet-stream';
|
|
278
312
|
}
|
|
@@ -280,6 +314,31 @@ export class Response extends Macroable {
|
|
|
280
314
|
this.#body = buffer.toString('base64');
|
|
281
315
|
this.#finished = true;
|
|
282
316
|
}
|
|
317
|
+
/**
|
|
318
|
+
* Refuse a body too large to hold in memory.
|
|
319
|
+
*
|
|
320
|
+
* A response body is serialised whole across the NAPI boundary — there is no
|
|
321
|
+
* chunked write yet — and a binary one is base64'd on the way, so it costs
|
|
322
|
+
* roughly 2.3x its size in transient memory: the Buffer, the encoded string,
|
|
323
|
+
* and the Rust-side decode. Without a ceiling a large file did not fail, it
|
|
324
|
+
* grew until the process died, with no message naming the cause.
|
|
325
|
+
*
|
|
326
|
+
* Raise it with `maxResponseBytes` in the kernel config when you know the
|
|
327
|
+
* memory is there. For anything genuinely large, hand out a signed URL from
|
|
328
|
+
* `@c9up/archive` instead and let the client fetch it from storage — the
|
|
329
|
+
* bytes then never pass through the server at all.
|
|
330
|
+
*/
|
|
331
|
+
#assertBodyFits(bytes) {
|
|
332
|
+
if (bytes <= this.#maxBodyBytes)
|
|
333
|
+
return;
|
|
334
|
+
throw new Error(`[E_RESPONSE_TOO_LARGE] Response body is ${Math.round(bytes / 1_048_576)}MB, over the ${Math.round(this.#maxBodyBytes / 1_048_576)}MB ceiling. ` +
|
|
335
|
+
'The body is held whole in memory (and base64-encoded, ~2.3x) because responses are not streamed yet. ' +
|
|
336
|
+
'Raise `maxResponseBytes` in the kernel config, or serve large files with a signed URL from @c9up/archive.');
|
|
337
|
+
}
|
|
338
|
+
/** @internal Set the ceiling — injected by HttpKernel from its config. */
|
|
339
|
+
setMaxBodyBytes(bytes) {
|
|
340
|
+
this.#maxBodyBytes = bytes;
|
|
341
|
+
}
|
|
283
342
|
/** Send 204 No Content. */
|
|
284
343
|
noContent() {
|
|
285
344
|
this.#status = 204;
|
|
@@ -492,13 +551,20 @@ export class Response extends Macroable {
|
|
|
492
551
|
this.status(505);
|
|
493
552
|
this.send(body);
|
|
494
553
|
}
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
554
|
+
redirect(path, forwardQueryString = false, statusCode = 302) {
|
|
555
|
+
if (!this.#redirectBuilderFactory) {
|
|
556
|
+
throw new Error('redirect() requires an HttpContext. Response was created outside a request handler.');
|
|
557
|
+
}
|
|
558
|
+
const builder = this.#redirectBuilderFactory();
|
|
559
|
+
if (path === undefined)
|
|
560
|
+
return builder;
|
|
561
|
+
if (forwardQueryString)
|
|
562
|
+
builder.withQs();
|
|
563
|
+
if (path === 'back') {
|
|
564
|
+
builder.status(statusCode).back();
|
|
565
|
+
return;
|
|
500
566
|
}
|
|
501
|
-
|
|
567
|
+
builder.status(statusCode).toPath(path);
|
|
502
568
|
}
|
|
503
569
|
/** @internal Set the redirect builder factory (injected by HttpContext). */
|
|
504
570
|
/** Give the response access to the request (wired by HttpContext) — used by `fresh()`. */
|
|
@@ -563,7 +629,40 @@ export class Response extends Macroable {
|
|
|
563
629
|
* @internal Wait for a body still being produced (see {@link stream}). The
|
|
564
630
|
* kernel calls this before serializing; everything else resolves at once.
|
|
565
631
|
*/
|
|
566
|
-
|
|
632
|
+
/**
|
|
633
|
+
* Resolves when a streamed body has finished feeding the socket.
|
|
634
|
+
*
|
|
635
|
+
* Deliberately NOT part of {@link finish}: the response has to reach Rust
|
|
636
|
+
* with its stream id before the body can be attached, so waiting for the
|
|
637
|
+
* pump there would deadlock — and closing the stream first is what made the
|
|
638
|
+
* client see `E_STREAM_UNKNOWN` instead of the file. This is for a test that
|
|
639
|
+
* wants the finished body, and for a shutdown that would rather let an
|
|
640
|
+
* in-flight download end than cut it.
|
|
641
|
+
*/
|
|
642
|
+
streamed() {
|
|
643
|
+
return this.#pumping ?? Promise.resolve();
|
|
644
|
+
}
|
|
645
|
+
/**
|
|
646
|
+
* Finalise the response — the terminal step (AdonisJS `response.finish()`).
|
|
647
|
+
*
|
|
648
|
+
* Same role and same guarantees as upstream: idempotent, it stamps the
|
|
649
|
+
* request id, and afterwards nothing more is added to the response. The
|
|
650
|
+
* kernel calls it before reading the response out; an app rarely needs to.
|
|
651
|
+
*
|
|
652
|
+
* NAMED DEVIATION — it returns a promise where upstream returns void, and it
|
|
653
|
+
* writes nothing. Ream never owns the socket: the whole response crosses the
|
|
654
|
+
* NAPI boundary and Rust writes it, so "finish" here means *sealed and ready
|
|
655
|
+
* to hand over* rather than *flushed*. The await is for a body still being
|
|
656
|
+
* produced — `download()` and a buffered `stream()` fill it asynchronously.
|
|
657
|
+
*
|
|
658
|
+
* A STREAMED body is deliberately not awaited: it feeds the socket after the
|
|
659
|
+
* response has been handed over. See {@link streamed}.
|
|
660
|
+
*/
|
|
661
|
+
async finish() {
|
|
662
|
+
if (this.#finalised)
|
|
663
|
+
return;
|
|
664
|
+
this.#finalised = true;
|
|
665
|
+
this.setRequestId();
|
|
567
666
|
const pending = this.#pendingStream;
|
|
568
667
|
if (pending === undefined)
|
|
569
668
|
return;
|
|
@@ -576,9 +675,20 @@ export class Response extends Macroable {
|
|
|
576
675
|
* error, `errorCallback` may map it to `[message, status?]`, else a 404.
|
|
577
676
|
*/
|
|
578
677
|
download(filePath, generateEtag = false, errorCallback) {
|
|
579
|
-
|
|
678
|
+
// Read asynchronously, parked on the same pending-body slot `stream()`
|
|
679
|
+
// uses and `finish()` already awaits before serialisation. It used to be
|
|
680
|
+
// `readFileSync`, which stalled the event loop for EVERY concurrent
|
|
681
|
+
// request while one client downloaded — the file's size became every
|
|
682
|
+
// other request's latency.
|
|
683
|
+
this.#pendingStream = this.#readForDownload(filePath, generateEtag, errorCallback);
|
|
684
|
+
}
|
|
685
|
+
async #readForDownload(filePath, generateEtag, errorCallback) {
|
|
686
|
+
// Stat first: a missing or unreadable file must answer 404 BEFORE any
|
|
687
|
+
// header goes out, and once a stream starts there is no status left to
|
|
688
|
+
// change.
|
|
689
|
+
let size;
|
|
580
690
|
try {
|
|
581
|
-
|
|
691
|
+
size = (await stat(filePath)).size;
|
|
582
692
|
}
|
|
583
693
|
catch (error) {
|
|
584
694
|
if (errorCallback) {
|
|
@@ -592,6 +702,15 @@ export class Response extends Macroable {
|
|
|
592
702
|
const ct = contentType(basename(filePath));
|
|
593
703
|
if (ct)
|
|
594
704
|
this.#headers['content-type'] = ct;
|
|
705
|
+
// An ETag is a hash of the whole file, so asking for one asks for the file
|
|
706
|
+
// in memory. Without one, stream it: the body goes out as it is read and
|
|
707
|
+
// nothing bigger than a chunk is ever held.
|
|
708
|
+
if (!generateEtag && this.#streamBackend?.writeStreamBytes !== undefined) {
|
|
709
|
+
this.#headers['content-length'] = String(size);
|
|
710
|
+
await this.#pipe(createReadStream(filePath), errorCallback);
|
|
711
|
+
return;
|
|
712
|
+
}
|
|
713
|
+
const content = await readFile(filePath);
|
|
595
714
|
if (generateEtag)
|
|
596
715
|
this.setEtag(content);
|
|
597
716
|
this.sendBuffer(content);
|
|
@@ -652,10 +771,67 @@ export class Response extends Macroable {
|
|
|
652
771
|
* one. Awaiting it keeps working.
|
|
653
772
|
*/
|
|
654
773
|
stream(body, errorCallback) {
|
|
655
|
-
const draining = this.#
|
|
774
|
+
const draining = this.#pipe(body, errorCallback);
|
|
656
775
|
this.#pendingStream = draining;
|
|
657
776
|
return draining;
|
|
658
777
|
}
|
|
778
|
+
/**
|
|
779
|
+
* Send a readable as the body.
|
|
780
|
+
*
|
|
781
|
+
* Chunks go to the socket as they arrive when the host can carry them —
|
|
782
|
+
* nothing bigger than one chunk is ever held, so the file's size stops being
|
|
783
|
+
* the process's memory ceiling. A host with no binary stream backend (a unit
|
|
784
|
+
* test, a mock server) falls back to draining into memory, which is what
|
|
785
|
+
* this always used to do.
|
|
786
|
+
*/
|
|
787
|
+
async #pipe(body, errorCallback) {
|
|
788
|
+
const backend = this.#streamBackend;
|
|
789
|
+
const writeBytes = backend?.writeStreamBytes;
|
|
790
|
+
if (backend === undefined || writeBytes === undefined) {
|
|
791
|
+
return this.#drain(body, errorCallback);
|
|
792
|
+
}
|
|
793
|
+
const streamId = randomUUID();
|
|
794
|
+
if (!(await backend.registerStream(streamId))) {
|
|
795
|
+
// The id collided — vanishingly unlikely, but answering with a body
|
|
796
|
+
// nobody feeds would hang the client forever.
|
|
797
|
+
return this.#drain(body, errorCallback);
|
|
798
|
+
}
|
|
799
|
+
if (!this.#headers['content-type']) {
|
|
800
|
+
this.#headers['content-type'] = 'application/octet-stream';
|
|
801
|
+
}
|
|
802
|
+
this.#streamId = streamId;
|
|
803
|
+
this.#finished = true;
|
|
804
|
+
// Pump DETACHED, exactly as `sse()` does. What is awaited here is only the
|
|
805
|
+
// registration: the kernel awaits this before handing the response back to
|
|
806
|
+
// Rust, and Rust then looks the id up to attach the body. Awaiting the pump
|
|
807
|
+
// instead would close the stream before that lookup ever happened, and the
|
|
808
|
+
// client would get `E_STREAM_UNKNOWN` in place of the file.
|
|
809
|
+
this.#pumping = this.#pump(backend, writeBytes.bind(backend), streamId, body, errorCallback);
|
|
810
|
+
}
|
|
811
|
+
/** Feed a registered stream until the source ends or the client leaves. */
|
|
812
|
+
async #pump(backend, writeBytes, streamId, body, errorCallback) {
|
|
813
|
+
try {
|
|
814
|
+
for await (const chunk of body) {
|
|
815
|
+
const bytes = typeof chunk === 'string' ? Buffer.from(chunk) : chunk;
|
|
816
|
+
// `false` means the client is gone. Stop reading the source rather
|
|
817
|
+
// than pumping a whole file into a closed socket.
|
|
818
|
+
if (!(await writeBytes(streamId, bytes)))
|
|
819
|
+
break;
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
catch (err) {
|
|
823
|
+
// The headers are already out, so there is no status left to change: end
|
|
824
|
+
// the body and let the client see a short read. `errorCallback` is still
|
|
825
|
+
// consulted for whatever logging it does.
|
|
826
|
+
errorCallback?.(err);
|
|
827
|
+
}
|
|
828
|
+
finally {
|
|
829
|
+
// Never rethrows: this runs detached, and an unhandled rejection here
|
|
830
|
+
// would take the process down over one client's download.
|
|
831
|
+
await backend.closeStream(streamId).catch(() => { });
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
/** Read the whole body into memory. The fallback when nothing can stream. */
|
|
659
835
|
async #drain(body, errorCallback) {
|
|
660
836
|
const chunks = [];
|
|
661
837
|
try {
|
|
@@ -846,6 +1022,57 @@ export class Response extends Macroable {
|
|
|
846
1022
|
isFinished() {
|
|
847
1023
|
return this.#finished;
|
|
848
1024
|
}
|
|
1025
|
+
// ─── State (AdonisJS getters) ──────────────────────────────
|
|
1026
|
+
//
|
|
1027
|
+
// Same questions AdonisJS answers on its response, under the same names. Ours
|
|
1028
|
+
// only had `isFinished()`, so a migrated `if (response.finished)` read
|
|
1029
|
+
// `undefined` and took the wrong branch without a word.
|
|
1030
|
+
/** Whether the response has been written out. */
|
|
1031
|
+
get finished() {
|
|
1032
|
+
return this.#finished;
|
|
1033
|
+
}
|
|
1034
|
+
/** Whether a body has been set. */
|
|
1035
|
+
get hasContent() {
|
|
1036
|
+
return this.#body.length > 0;
|
|
1037
|
+
}
|
|
1038
|
+
/** Whether the body is a stream still being drained. */
|
|
1039
|
+
get hasStream() {
|
|
1040
|
+
return this.#pendingStream !== undefined;
|
|
1041
|
+
}
|
|
1042
|
+
/** Whether a body of any kind is waiting to go out. */
|
|
1043
|
+
get hasLazyBody() {
|
|
1044
|
+
return this.hasContent || this.hasStream;
|
|
1045
|
+
}
|
|
1046
|
+
/**
|
|
1047
|
+
* Whether the headers have gone out.
|
|
1048
|
+
*
|
|
1049
|
+
* Ream serialises the whole response across the NAPI boundary in one step,
|
|
1050
|
+
* so headers and body leave together: this is true exactly when the response
|
|
1051
|
+
* is finished, rather than tracking a separate Node `headersSent`.
|
|
1052
|
+
*/
|
|
1053
|
+
get headersSent() {
|
|
1054
|
+
return this.#finished;
|
|
1055
|
+
}
|
|
1056
|
+
/** Whether nothing has been sent yet — the window a middleware can still write in. */
|
|
1057
|
+
get isPending() {
|
|
1058
|
+
return !this.headersSent && !this.finished;
|
|
1059
|
+
}
|
|
1060
|
+
/**
|
|
1061
|
+
* Echo the caller's `x-request-id` back on the response (AdonisJS
|
|
1062
|
+
* `setRequestId`).
|
|
1063
|
+
*
|
|
1064
|
+
* Ream already READS that header into `ctx.id` — validating its shape and
|
|
1065
|
+
* generating one when it is missing — but never sent it back, so a caller
|
|
1066
|
+
* could not tie a response to the request id it issued. Nothing is echoed
|
|
1067
|
+
* when the client sent none: inventing one here would hand back an id the
|
|
1068
|
+
* caller never used.
|
|
1069
|
+
*/
|
|
1070
|
+
setRequestId() {
|
|
1071
|
+
const incoming = this.#request?.header('x-request-id');
|
|
1072
|
+
if (incoming)
|
|
1073
|
+
this.header('x-request-id', incoming);
|
|
1074
|
+
return this;
|
|
1075
|
+
}
|
|
849
1076
|
/** @internal Set body directly (used by redirect, exception handler). */
|
|
850
1077
|
setBody(body) {
|
|
851
1078
|
this.#body = body;
|