@c9up/ream 0.1.25 → 0.1.26

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 (172) hide show
  1. package/dist/ConfigLoader.d.ts +46 -5
  2. package/dist/ConfigLoader.d.ts.map +1 -1
  3. package/dist/ConfigLoader.js +60 -9
  4. package/dist/ConfigLoader.js.map +1 -1
  5. package/dist/HttpKernel.d.ts.map +1 -1
  6. package/dist/HttpKernel.js +46 -6
  7. package/dist/HttpKernel.js.map +1 -1
  8. package/dist/Ignitor.d.ts.map +1 -1
  9. package/dist/Ignitor.js +21 -3
  10. package/dist/Ignitor.js.map +1 -1
  11. package/dist/container/Container.d.ts +23 -3
  12. package/dist/container/Container.d.ts.map +1 -1
  13. package/dist/container/Container.js +139 -60
  14. package/dist/container/Container.js.map +1 -1
  15. package/dist/env/Env.d.ts +29 -4
  16. package/dist/env/Env.d.ts.map +1 -1
  17. package/dist/env/Env.js +27 -4
  18. package/dist/env/Env.js.map +1 -1
  19. package/dist/env/Secret.d.ts +11 -0
  20. package/dist/env/Secret.d.ts.map +1 -0
  21. package/dist/env/Secret.js +36 -0
  22. package/dist/env/Secret.js.map +1 -0
  23. package/dist/env/interpolate.d.ts +26 -0
  24. package/dist/env/interpolate.d.ts.map +1 -0
  25. package/dist/env/interpolate.js +48 -0
  26. package/dist/env/interpolate.js.map +1 -0
  27. package/dist/env/loadEnvFiles.d.ts.map +1 -1
  28. package/dist/env/loadEnvFiles.js +14 -4
  29. package/dist/env/loadEnvFiles.js.map +1 -1
  30. package/dist/env/schema.d.ts +23 -6
  31. package/dist/env/schema.d.ts.map +1 -1
  32. package/dist/env/schema.js +67 -33
  33. package/dist/env/schema.js.map +1 -1
  34. package/dist/events/Emitter.d.ts +1 -1
  35. package/dist/events/Emitter.d.ts.map +1 -1
  36. package/dist/events/Emitter.js +1 -1
  37. package/dist/events/Emitter.js.map +1 -1
  38. package/dist/events/EventsProvider.d.ts +2 -2
  39. package/dist/events/EventsProvider.d.ts.map +1 -1
  40. package/dist/events/EventsProvider.js +3 -3
  41. package/dist/events/EventsProvider.js.map +1 -1
  42. package/dist/graphql/GraphQLEngine.d.ts +1 -1
  43. package/dist/graphql/GraphQLEngine.d.ts.map +1 -1
  44. package/dist/graphql/GraphQLEngine.js +2 -2
  45. package/dist/graphql/GraphQLEngine.js.map +1 -1
  46. package/dist/graphql/GraphQLProvider.d.ts.map +1 -1
  47. package/dist/graphql/GraphQLProvider.js +7 -3
  48. package/dist/graphql/GraphQLProvider.js.map +1 -1
  49. package/dist/http/Exception.d.ts +63 -1
  50. package/dist/http/Exception.d.ts.map +1 -1
  51. package/dist/http/Exception.js +185 -48
  52. package/dist/http/Exception.js.map +1 -1
  53. package/dist/http/HttpContext.d.ts +53 -7
  54. package/dist/http/HttpContext.d.ts.map +1 -1
  55. package/dist/http/HttpContext.js +56 -15
  56. package/dist/http/HttpContext.js.map +1 -1
  57. package/dist/http/RedirectBuilder.d.ts.map +1 -1
  58. package/dist/http/RedirectBuilder.js +4 -1
  59. package/dist/http/RedirectBuilder.js.map +1 -1
  60. package/dist/http/Request.d.ts +141 -10
  61. package/dist/http/Request.d.ts.map +1 -1
  62. package/dist/http/Request.js +244 -34
  63. package/dist/http/Request.js.map +1 -1
  64. package/dist/http/Response.d.ts +176 -9
  65. package/dist/http/Response.d.ts.map +1 -1
  66. package/dist/http/Response.js +404 -16
  67. package/dist/http/Response.js.map +1 -1
  68. package/dist/index.d.ts +5 -4
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +4 -3
  71. package/dist/index.js.map +1 -1
  72. package/dist/middleware/Pipeline.js +1 -1
  73. package/dist/middleware/Pipeline.js.map +1 -1
  74. package/dist/openapi/OpenApiProvider.js +4 -4
  75. package/dist/openapi/OpenApiProvider.js.map +1 -1
  76. package/dist/router/Router.d.ts +223 -31
  77. package/dist/router/Router.d.ts.map +1 -1
  78. package/dist/router/Router.js +520 -102
  79. package/dist/router/Router.js.map +1 -1
  80. package/dist/rpc/RpcProvider.d.ts +1 -0
  81. package/dist/rpc/RpcProvider.d.ts.map +1 -1
  82. package/dist/rpc/RpcProvider.js +7 -3
  83. package/dist/rpc/RpcProvider.js.map +1 -1
  84. package/dist/rpc/RpcRouter.d.ts +2 -2
  85. package/dist/rpc/RpcRouter.d.ts.map +1 -1
  86. package/dist/rpc/RpcRouter.js +5 -4
  87. package/dist/rpc/RpcRouter.js.map +1 -1
  88. package/dist/scheduler/ScheduleProvider.d.ts.map +1 -1
  89. package/dist/scheduler/ScheduleProvider.js +7 -15
  90. package/dist/scheduler/ScheduleProvider.js.map +1 -1
  91. package/dist/server/Server.d.ts +17 -4
  92. package/dist/server/Server.d.ts.map +1 -1
  93. package/dist/server/Server.js +41 -7
  94. package/dist/server/Server.js.map +1 -1
  95. package/dist/session/SessionMiddleware.js +3 -3
  96. package/dist/session/SessionMiddleware.js.map +1 -1
  97. package/dist/storage/StaticProvider.js +1 -1
  98. package/dist/storage/StaticProvider.js.map +1 -1
  99. package/dist/testing/RequestBuilder.d.ts +60 -0
  100. package/dist/testing/RequestBuilder.d.ts.map +1 -1
  101. package/dist/testing/RequestBuilder.js +180 -1
  102. package/dist/testing/RequestBuilder.js.map +1 -1
  103. package/dist/testing/TestClient.d.ts +22 -1
  104. package/dist/testing/TestClient.d.ts.map +1 -1
  105. package/dist/testing/TestClient.js +40 -0
  106. package/dist/testing/TestClient.js.map +1 -1
  107. package/dist/utils/Macroable.d.ts +30 -0
  108. package/dist/utils/Macroable.d.ts.map +1 -0
  109. package/dist/utils/Macroable.js +43 -0
  110. package/dist/utils/Macroable.js.map +1 -0
  111. package/dist/utils/inflect.d.ts +17 -0
  112. package/dist/utils/inflect.d.ts.map +1 -0
  113. package/dist/utils/inflect.js +32 -0
  114. package/dist/utils/inflect.js.map +1 -0
  115. package/dist/utils/objectPath.d.ts +57 -0
  116. package/dist/utils/objectPath.d.ts.map +1 -0
  117. package/dist/utils/objectPath.js +141 -0
  118. package/dist/utils/objectPath.js.map +1 -0
  119. package/events.darwin-arm64.node +0 -0
  120. package/events.darwin-x64.node +0 -0
  121. package/events.linux-arm64-gnu.node +0 -0
  122. package/events.linux-x64-gnu.node +0 -0
  123. package/events.win32-x64-msvc.node +0 -0
  124. package/index.darwin-arm64.node +0 -0
  125. package/index.darwin-x64.node +0 -0
  126. package/index.linux-arm64-gnu.node +0 -0
  127. package/index.linux-x64-gnu.node +0 -0
  128. package/index.win32-x64-msvc.node +0 -0
  129. package/package.json +6 -1
  130. package/scheduler.darwin-arm64.node +0 -0
  131. package/scheduler.darwin-x64.node +0 -0
  132. package/scheduler.linux-arm64-gnu.node +0 -0
  133. package/scheduler.linux-x64-gnu.node +0 -0
  134. package/scheduler.win32-x64-msvc.node +0 -0
  135. package/src/ConfigLoader.ts +72 -9
  136. package/src/HttpKernel.ts +53 -15
  137. package/src/Ignitor.ts +24 -3
  138. package/src/container/Container.ts +145 -61
  139. package/src/env/Env.ts +49 -5
  140. package/src/env/Secret.ts +41 -0
  141. package/src/env/interpolate.ts +54 -0
  142. package/src/env/loadEnvFiles.ts +12 -4
  143. package/src/env/schema.ts +109 -35
  144. package/src/events/Emitter.ts +2 -2
  145. package/src/events/EventsProvider.ts +5 -5
  146. package/src/graphql/GraphQLEngine.ts +4 -4
  147. package/src/graphql/GraphQLProvider.ts +7 -3
  148. package/src/http/Exception.ts +214 -37
  149. package/src/http/HttpContext.ts +87 -18
  150. package/src/http/RedirectBuilder.ts +4 -1
  151. package/src/http/Request.ts +264 -34
  152. package/src/http/Response.ts +478 -27
  153. package/src/index.ts +11 -2
  154. package/src/middleware/Pipeline.ts +1 -1
  155. package/src/openapi/OpenApiProvider.ts +4 -4
  156. package/src/router/Router.ts +631 -113
  157. package/src/rpc/RpcProvider.ts +6 -2
  158. package/src/rpc/RpcRouter.ts +7 -6
  159. package/src/scheduler/ScheduleProvider.ts +7 -15
  160. package/src/server/Server.ts +49 -10
  161. package/src/session/SessionMiddleware.ts +4 -4
  162. package/src/storage/StaticProvider.ts +1 -1
  163. package/src/testing/RequestBuilder.ts +218 -1
  164. package/src/testing/TestClient.ts +57 -1
  165. package/src/utils/Macroable.ts +54 -0
  166. package/src/utils/inflect.ts +29 -0
  167. package/src/utils/objectPath.ts +142 -0
  168. package/dist/decorators/Lazy.d.ts +0 -19
  169. package/dist/decorators/Lazy.d.ts.map +0 -1
  170. package/dist/decorators/Lazy.js +0 -53
  171. package/dist/decorators/Lazy.js.map +0 -1
  172. package/src/decorators/Lazy.ts +0 -57
@@ -6,12 +6,21 @@
6
6
  *
7
7
  * @implements FR21
8
8
  */
9
- export class Request {
9
+ import { Macroable } from '../utils/Macroable.js';
10
+ import { getPath, omitPaths, pickPaths } from '../utils/objectPath.js';
11
+ export class Request extends Macroable {
10
12
  #raw;
11
13
  #params;
14
+ #cookieSigner;
15
+ #signedUrl;
16
+ #allowMethodSpoofing = false;
17
+ #trustProxy = false;
18
+ #routeInfo;
19
+ #response;
12
20
  #parsedBody;
13
21
  #parsedQs;
14
22
  #merged;
23
+ #original;
15
24
  #files = new Map();
16
25
  #validated;
17
26
  /**
@@ -20,15 +29,74 @@ export class Request {
20
29
  * otherwise. Also published to `ctx.store` for templating helpers.
21
30
  */
22
31
  csrfToken;
32
+ /**
33
+ * `true` only when CSRF was enabled, the request method guarded, the route not
34
+ * excepted, AND the token validated for this request — set by the
35
+ * `@c9up/blackhole` middleware. Unlike {@link csrfToken} (seeded on every
36
+ * passing request, even when verification was skipped), this is the trustworthy
37
+ * "the request was CSRF-verified" signal a consumer reads to fail-close on
38
+ * state-changing routes. `undefined` when the middleware never ran.
39
+ */
40
+ csrfProtected;
23
41
  constructor(raw, params = {}) {
42
+ super();
24
43
  this.#raw = raw;
25
44
  this.#params = params;
26
45
  }
27
46
  // ─── HTTP accessors ───────────────────────────────────────
28
- /** HTTP method (GET, POST, etc.). */
47
+ /**
48
+ * The HTTP method, honouring `_method` form spoofing when enabled (AdonisJS
49
+ * `method`). With spoofing enabled and a real POST, the `_method` field
50
+ * (`PUT`/`PATCH`/`DELETE`) overrides — the classic HTML-form workaround.
51
+ * Spoofing is OFF by default (opt in via {@link setMethodSpoofing}); routing
52
+ * always uses {@link intended}.
53
+ */
29
54
  method() {
55
+ if (this.#allowMethodSpoofing && this.intended().toUpperCase() === 'POST') {
56
+ const spoofed = this.input('_method', this.intended());
57
+ if (typeof spoofed === 'string' && spoofed)
58
+ return spoofed.toUpperCase();
59
+ }
60
+ return this.intended();
61
+ }
62
+ /** The real HTTP method, ignoring any `_method` spoofing (AdonisJS `intended`). */
63
+ intended() {
30
64
  return this.#raw.method;
31
65
  }
66
+ /** @internal Give the request access to its response — wired by HttpContext (for `fresh()`). */
67
+ setResponse(response) {
68
+ this.#response = response;
69
+ }
70
+ /** @internal Record the matched route — wired by HttpContext (for `matchesRoute()`). */
71
+ setRouteInfo(info) {
72
+ this.#routeInfo = info;
73
+ }
74
+ /**
75
+ * Whether the client's cached copy is still fresh (AdonisJS `fresh`) —
76
+ * delegates to the response's `ETag`/`If-None-Match` revalidation check, so a
77
+ * handler can answer `304 Not Modified`. False before the response is wired.
78
+ */
79
+ fresh() {
80
+ return this.#response?.fresh() ?? false;
81
+ }
82
+ /** The negation of {@link fresh} (AdonisJS `stale`). */
83
+ stale() {
84
+ return !this.fresh();
85
+ }
86
+ /** True when the matched route's name or pattern equals `identifier` (AdonisJS `matchesRoute`). */
87
+ matchesRoute(identifier) {
88
+ if (!this.#routeInfo)
89
+ return false;
90
+ return this.#routeInfo.name === identifier || this.#routeInfo.pattern === identifier;
91
+ }
92
+ /**
93
+ * Enable/disable `_method` form spoofing (AdonisJS gates this behind the
94
+ * `allowMethodSpoofing` config; ream exposes it as an explicit opt-in, off by
95
+ * default, so an attacker can never silently rewrite a POST into a DELETE).
96
+ */
97
+ setMethodSpoofing(enabled) {
98
+ this.#allowMethodSpoofing = enabled;
99
+ }
32
100
  /** Request URL (path + query string). */
33
101
  url(includeQs = true) {
34
102
  if (includeQs && this.#raw.query) {
@@ -61,6 +129,87 @@ export class Request {
61
129
  return this.#raw.ip;
62
130
  return this.#raw.remoteAddr ?? '127.0.0.1';
63
131
  }
132
+ /**
133
+ * Enable/disable trusting proxy headers (`X-Forwarded-Proto`/`-Host`/`-For`)
134
+ * for `protocol()`/`host()`/`ips()`. OFF by default — turning it on when the
135
+ * app is NOT behind a trusted proxy lets clients spoof their scheme/host/IP,
136
+ * so it's an explicit opt-in (same stance as {@link setMethodSpoofing}).
137
+ */
138
+ setTrustProxy(enabled) {
139
+ this.#trustProxy = enabled;
140
+ }
141
+ /**
142
+ * The request host including port (AdonisJS `host`). Honours
143
+ * `X-Forwarded-Host` ONLY when trust-proxy is enabled; otherwise the `Host`
144
+ * header. Returns null when neither is present.
145
+ */
146
+ host() {
147
+ if (this.#trustProxy) {
148
+ const forwarded = this.#raw.headers['x-forwarded-host'];
149
+ if (forwarded)
150
+ return forwarded.split(',')[0].trim();
151
+ }
152
+ return this.#raw.headers.host ?? null;
153
+ }
154
+ /**
155
+ * The request protocol — `http` or `https` (AdonisJS `protocol`). Honours
156
+ * `X-Forwarded-Proto` only under trust-proxy; otherwise the connection scheme
157
+ * the Rust layer reported (defaulting to `http`).
158
+ */
159
+ protocol() {
160
+ if (this.#trustProxy) {
161
+ const forwarded = this.#raw.headers['x-forwarded-proto'];
162
+ if (forwarded)
163
+ return forwarded.split(',')[0].trim().toLowerCase();
164
+ }
165
+ return this.#raw.scheme ?? 'http';
166
+ }
167
+ /** True when the request protocol is `https` (AdonisJS `secure`). */
168
+ secure() {
169
+ return this.protocol() === 'https';
170
+ }
171
+ /**
172
+ * The client IP chain (AdonisJS `ips`). Under trust-proxy, the parsed
173
+ * `X-Forwarded-For` list (left-most = original client); otherwise just the
174
+ * single resolved {@link ip}.
175
+ */
176
+ ips() {
177
+ if (this.#trustProxy) {
178
+ const forwarded = this.#raw.headers['x-forwarded-for'];
179
+ if (forwarded) {
180
+ return forwarded
181
+ .split(',')
182
+ .map((value) => value.trim())
183
+ .filter((value) => value.length > 0);
184
+ }
185
+ }
186
+ return [this.ip()];
187
+ }
188
+ /** The request hostname without port (AdonisJS `hostname`), or null. */
189
+ hostname() {
190
+ const host = this.host();
191
+ if (host === null)
192
+ return null;
193
+ // Strip the port. IPv6 literals are bracketed (`[::1]:3000`) — keep the brackets' contents.
194
+ if (host.startsWith('['))
195
+ return host.slice(0, host.indexOf(']') + 1) || host;
196
+ const colon = host.indexOf(':');
197
+ return colon === -1 ? host : host.slice(0, colon);
198
+ }
199
+ /**
200
+ * Subdomains of the hostname (AdonisJS `subdomains`). `offset` drops the
201
+ * registrable domain (default 2 → `example.com`); a leading `www` is removed.
202
+ * Empty for an IP host or a host with no subdomain.
203
+ */
204
+ subdomains(offset = 2) {
205
+ const hostname = this.hostname();
206
+ if (hostname === null || isIpLiteral(hostname))
207
+ return [];
208
+ const parts = hostname.split('.').reverse().slice(offset);
209
+ if (parts.length > 0 && parts[parts.length - 1] === 'www')
210
+ parts.pop();
211
+ return parts;
212
+ }
64
213
  /**
65
214
  * Return all cookies sent on this request as a name → value map. The
66
215
  * HyperServer parses the `Cookie:` header once via the `cookie` crate
@@ -93,10 +242,49 @@ export class Request {
93
242
  }
94
243
  return result;
95
244
  }
96
- /** Pre-parsed cookie value by name, or `null` when absent. */
97
- cookie(name) {
245
+ /** Inject the APP_KEY-backed cookie signer — wired by HttpContext. */
246
+ setCookieSigner(signer) {
247
+ this.#cookieSigner = signer;
248
+ }
249
+ /**
250
+ * Signed cookie value, verified with APP_KEY (AdonisJS default). Returns
251
+ * `defaultValue` (or null) when absent OR when the signature is invalid
252
+ * (tampered / not signed).
253
+ */
254
+ cookie(name, defaultValue) {
255
+ const raw = this.plainCookie(name);
256
+ const value = raw === null ? null : this.#cookieSigner ? this.#cookieSigner.unsign(raw) : raw;
257
+ return value ?? defaultValue ?? null;
258
+ }
259
+ /** Raw (unsigned) cookie value (AdonisJS `plainCookie`), or `defaultValue`/null when absent. */
260
+ plainCookie(name, defaultValue) {
98
261
  const cookies = this.#raw.cookies ?? this.cookies();
99
- return cookies[name] ?? null;
262
+ return cookies[name] ?? defaultValue ?? null;
263
+ }
264
+ /**
265
+ * Encrypted cookie value, decrypted with APP_KEY (AdonisJS `encryptedCookie`).
266
+ * Returns `defaultValue` (or null) when absent, undecryptable, or no
267
+ * encryption service.
268
+ */
269
+ encryptedCookie(name, defaultValue) {
270
+ const raw = this.plainCookie(name);
271
+ const value = raw === null || !this.#cookieSigner ? null : this.#cookieSigner.decrypt(raw);
272
+ return value ?? defaultValue ?? null;
273
+ }
274
+ /** @internal Inject the APP_KEY-backed signed-URL helper — wired by HttpContext. */
275
+ setSignedUrl(signedUrl) {
276
+ this.#signedUrl = signedUrl;
277
+ }
278
+ /**
279
+ * Verify the request's signed-URL `signature` (AdonisJS `hasValidSignature`).
280
+ * Delegates to the {@link SignedUrl} helper, which recomputes the HMAC over
281
+ * the current path + query, rejects an expired `expires`, and checks the
282
+ * `purpose`. Returns false without an APP_KEY-backed signer.
283
+ */
284
+ hasValidSignature(purpose) {
285
+ if (!this.#signedUrl)
286
+ return false;
287
+ return this.#signedUrl.verify(this.url(), purpose);
100
288
  }
101
289
  /** Get the raw body as a string (decoded from base64 if binary). */
102
290
  raw() {
@@ -113,9 +301,9 @@ export class Request {
113
301
  return Buffer.from(this.#raw.body, 'utf8');
114
302
  }
115
303
  // ─── Headers ──────────────────────────────────────────────
116
- /** Get a single request header (case-insensitive). */
117
- header(key) {
118
- return this.#raw.headers[key.toLowerCase()];
304
+ /** Get a single request header (case-insensitive), or `defaultValue` when absent. */
305
+ header(key, defaultValue) {
306
+ return this.#raw.headers[key.toLowerCase()] ?? defaultValue;
119
307
  }
120
308
  /** Get all request headers. */
121
309
  headers() {
@@ -145,45 +333,61 @@ export class Request {
145
333
  return this.#parsedBody;
146
334
  }
147
335
  // ─── Merged input (body + qs) ─────────────────────────────
148
- /** Get a single input value from body or query string. */
336
+ /**
337
+ * Get a single input value from body or query string, by AdonisJS
338
+ * dot-notation (`input('user.address.city')`). Returns `defaultValue` when
339
+ * the path is absent (parity with `lodash.get`, reimplemented dependency-free).
340
+ */
149
341
  input(key, defaultValue) {
150
- const merged = this.all();
151
- if (key in merged) {
152
- // biome-ignore lint/suspicious/noExplicitAny: generic accessor — caller brands the value type via T
153
- return merged[key];
154
- }
155
- // biome-ignore lint/suspicious/noExplicitAny: generic default — caller brands the value type via T
156
- return defaultValue;
342
+ // Untyped request data: the caller declares the shape it expects (same
343
+ // contract as AdonisJS `request.input<T>`, whose return is loose `any`).
344
+ return getPath(this.all(), key, defaultValue);
157
345
  }
158
346
  /** Get all input (query string merged with body). */
159
347
  all() {
160
348
  if (!this.#merged) {
161
349
  this.#ensureParsedBody();
162
350
  this.#merged = { ...this.qs(), ...this.#parsedBody };
351
+ // Snapshot the first-seen input as the immutable "original" (flash old-input).
352
+ if (this.#original === undefined)
353
+ this.#original = { ...this.#merged };
163
354
  }
164
355
  return { ...this.#merged };
165
356
  }
166
- /** Cherry-pick specific keys from input. */
357
+ /**
358
+ * The original request input, captured once and never mutated (AdonisJS
359
+ * `request.original`) — the basis for flash "old input" on validation errors.
360
+ */
361
+ original() {
362
+ this.all(); // ensure the snapshot is captured
363
+ return { ...(this.#original ?? {}) };
364
+ }
365
+ /**
366
+ * Cherry-pick specific keys from input, honouring dot-notation for nested
367
+ * branches (`only(['user.id'])` → `{ user: { id } }`) — AdonisJS `only`
368
+ * (`lodash.pick`). Absent paths are skipped.
369
+ */
167
370
  only(keys) {
168
- const merged = this.all();
169
- const result = {};
170
- for (const key of keys) {
171
- if (key in merged) {
172
- result[key] = merged[key];
173
- }
174
- }
175
- return result;
371
+ return pickPaths(this.all(), keys);
176
372
  }
177
- /** Get all input except specific keys. */
373
+ /**
374
+ * Get all input except specific keys, honouring dot-notation for nested
375
+ * branches — AdonisJS `except` (`lodash.omit`). Never mutates the input.
376
+ */
178
377
  except(keys) {
179
- const merged = this.all();
180
- const keySet = new Set(keys);
181
- const result = {};
182
- for (const [k, v] of Object.entries(merged)) {
183
- if (!keySet.has(k))
184
- result[k] = v;
185
- }
186
- return result;
378
+ return omitPaths(this.all(), keys);
379
+ }
380
+ /**
381
+ * True when the request carries a body — a `content-length` above zero or a
382
+ * `transfer-encoding` header (AdonisJS `request.hasBody`). Lets a handler
383
+ * branch on "was anything sent" without parsing.
384
+ */
385
+ hasBody() {
386
+ const transferEncoding = this.#raw.headers['transfer-encoding'];
387
+ if (transferEncoding && transferEncoding.length > 0)
388
+ return true;
389
+ const contentLength = Number.parseInt(this.#raw.headers['content-length'] ?? '', 10);
390
+ return Number.isFinite(contentLength) && contentLength > 0;
187
391
  }
188
392
  // ─── Content negotiation ──────────────────────────────────
189
393
  /** Check if the request content-type matches any of the given types. */
@@ -357,6 +561,12 @@ export class Request {
357
561
  function isPlainObject(value) {
358
562
  return typeof value === 'object' && value !== null && !Array.isArray(value);
359
563
  }
564
+ /** True for an IPv4 dotted-quad or a (bracketed) IPv6 literal — hosts with no subdomains. */
565
+ function isIpLiteral(host) {
566
+ if (host.startsWith('[') || host.includes('::'))
567
+ return true;
568
+ return /^(\d{1,3}\.){3}\d{1,3}$/.test(host);
569
+ }
360
570
  /**
361
571
  * Decode a percent-encoded segment without throwing on malformed input.
362
572
  * Browsers happily send `q=%E0%A4%A` (truncated UTF-8 sequences) — refusing
@@ -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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"}
@@ -6,9 +6,18 @@
6
6
  *
7
7
  * @implements FR21
8
8
  */
9
+ import type { CookieSigner } from '../security/CookieSigner.js';
10
+ import { Macroable } from '../utils/Macroable.js';
9
11
  import type { RedirectBuilder } from './RedirectBuilder.js';
10
12
  import { type SseStream, type SseStreamOptions, type StreamBackend } from './SseStream.js';
11
- export declare class Response {
13
+ export interface CookieOptions {
14
+ maxAge?: number;
15
+ path?: string;
16
+ httpOnly?: boolean;
17
+ secure?: boolean;
18
+ sameSite?: 'lax' | 'strict' | 'none';
19
+ }
20
+ export declare class Response extends Macroable {
12
21
  #private;
13
22
  /**
14
23
  * CSP nonce for this request (AdonisJS idiom: `response.nonce`). Seeded by
@@ -26,10 +35,34 @@ export declare class Response {
26
35
  append(key: string, value: string): this;
27
36
  /** Remove a response header. */
28
37
  removeHeader(key: string): this;
29
- /** Set the Content-Type header. Chainable. */
30
- type(contentType: string): this;
38
+ /**
39
+ * Set a header only if it has not been set yet (AdonisJS `safeHeader`) —
40
+ * the idiom for defaulting a header from middleware without clobbering a
41
+ * value a downstream handler already chose.
42
+ */
43
+ safeHeader(key: string, value: string): this;
44
+ /** Append field(s) to the `Vary` header, de-duplicated (AdonisJS parity). */
45
+ vary(field: string | string[]): this;
46
+ /** Set the `Location` header without issuing a redirect (AdonisJS parity). */
47
+ location(url: string): this;
48
+ /**
49
+ * Set the Content-Type header. Chainable. AdonisJS parity
50
+ * (`response.type(type, charset?)`): `type` may be a full MIME type OR a file
51
+ * extension — `type('txt')` → `text/plain; charset=utf-8`, `type('json')` →
52
+ * `application/json; charset=utf-8` — resolved via `mime-types` exactly like
53
+ * Adonis. An optional `charset` is appended before resolution.
54
+ */
55
+ type(type: string, charset?: string): this;
31
56
  /** Send a JSON response. Sets content-type and stringifies. */
32
57
  json(data: unknown): void;
58
+ /**
59
+ * Send a JSONP response (AdonisJS parity) — wraps the JSON body in a
60
+ * `callbackName(...)` call served as `text/javascript`. The callback name is
61
+ * sanitised to identifier-safe characters and U+2028 / U+2029 are escaped
62
+ * (valid in JSON, but break JS), so neither the callback nor the payload can
63
+ * inject script.
64
+ */
65
+ jsonp(body: unknown, callbackName?: string): void;
33
66
  /** Send a response body. Auto-detects content type if not set. */
34
67
  send(data: unknown): void;
35
68
  /**
@@ -45,9 +78,125 @@ export declare class Response {
45
78
  sendBuffer(buffer: Buffer): void;
46
79
  /** Send 204 No Content. */
47
80
  noContent(): void;
81
+ /** 100 Continue. */
82
+ continue(): void;
83
+ /** 101 Switching Protocols. */
84
+ switchingProtocols(): void;
85
+ /** 200 ok. */
86
+ ok(body?: unknown): void;
87
+ /** 201 created. */
88
+ created(body?: unknown): void;
89
+ /** 202 accepted. */
90
+ accepted(body?: unknown): void;
91
+ /** 203 nonAuthoritativeInformation. */
92
+ nonAuthoritativeInformation(body?: unknown): void;
93
+ /** 205 resetContent. */
94
+ resetContent(body?: unknown): void;
95
+ /** 206 partialContent. */
96
+ partialContent(body?: unknown): void;
97
+ /** 300 multipleChoices. */
98
+ multipleChoices(body?: unknown): void;
99
+ /** 301 movedPermanently. */
100
+ movedPermanently(body?: unknown): void;
101
+ /** 302 movedTemporarily. */
102
+ movedTemporarily(body?: unknown): void;
103
+ /** 303 seeOther. */
104
+ seeOther(body?: unknown): void;
105
+ /** 304 notModified. */
106
+ notModified(body?: unknown): void;
107
+ /** 305 useProxy. */
108
+ useProxy(body?: unknown): void;
109
+ /** 307 temporaryRedirect. */
110
+ temporaryRedirect(body?: unknown): void;
111
+ /** 400 badRequest. */
112
+ badRequest(body?: unknown): void;
113
+ /** 401 unauthorized. */
114
+ unauthorized(body?: unknown): void;
115
+ /** 402 paymentRequired. */
116
+ paymentRequired(body?: unknown): void;
117
+ /** 403 forbidden. */
118
+ forbidden(body?: unknown): void;
119
+ /** 404 notFound. */
120
+ notFound(body?: unknown): void;
121
+ /** 405 methodNotAllowed. */
122
+ methodNotAllowed(body?: unknown): void;
123
+ /** 406 notAcceptable. */
124
+ notAcceptable(body?: unknown): void;
125
+ /** 407 proxyAuthenticationRequired. */
126
+ proxyAuthenticationRequired(body?: unknown): void;
127
+ /** 408 requestTimeout. */
128
+ requestTimeout(body?: unknown): void;
129
+ /** 409 conflict. */
130
+ conflict(body?: unknown): void;
131
+ /** 410 gone. */
132
+ gone(body?: unknown): void;
133
+ /** 411 lengthRequired. */
134
+ lengthRequired(body?: unknown): void;
135
+ /** 412 preconditionFailed. */
136
+ preconditionFailed(body?: unknown): void;
137
+ /** 413 requestEntityTooLarge. */
138
+ requestEntityTooLarge(body?: unknown): void;
139
+ /** 414 requestUriTooLong. */
140
+ requestUriTooLong(body?: unknown): void;
141
+ /** 415 unsupportedMediaType. */
142
+ unsupportedMediaType(body?: unknown): void;
143
+ /** 416 requestedRangeNotSatisfiable. */
144
+ requestedRangeNotSatisfiable(body?: unknown): void;
145
+ /** 417 expectationFailed. */
146
+ expectationFailed(body?: unknown): void;
147
+ /** 422 unprocessableEntity. */
148
+ unprocessableEntity(body?: unknown): void;
149
+ /** 429 tooManyRequests. */
150
+ tooManyRequests(body?: unknown): void;
151
+ /** 500 internalServerError. */
152
+ internalServerError(body?: unknown): void;
153
+ /** 501 notImplemented. */
154
+ notImplemented(body?: unknown): void;
155
+ /** 502 badGateway. */
156
+ badGateway(body?: unknown): void;
157
+ /** 503 serviceUnavailable. */
158
+ serviceUnavailable(body?: unknown): void;
159
+ /** 504 gatewayTimeout. */
160
+ gatewayTimeout(body?: unknown): void;
161
+ /** 505 httpVersionNotSupported. */
162
+ httpVersionNotSupported(body?: unknown): void;
48
163
  /** Get a redirect builder. */
49
164
  redirect(): RedirectBuilder;
50
165
  /** @internal Set the redirect builder factory (injected by HttpContext). */
166
+ /** Give the response access to the request (wired by HttpContext) — used by `fresh()`. */
167
+ setRequest(request: {
168
+ method(): string;
169
+ header(key: string): string | undefined;
170
+ }): void;
171
+ /** Inject the APP_KEY-backed cookie signer — wired by HttpContext. */
172
+ setCookieSigner(signer: CookieSigner): void;
173
+ /** Set a strong (or weak) `ETag` for the given body (AdonisJS parity, `etag` pkg). */
174
+ setEtag(body: string | Buffer, weak?: boolean): this;
175
+ /**
176
+ * Whether the client's cached copy is still fresh (AdonisJS `fresh`) — a
177
+ * cacheable method (GET/HEAD) with a 2xx/304 status whose `If-None-Match`
178
+ * matches this response's `ETag`. Lets a handler answer `304 Not Modified`.
179
+ */
180
+ fresh(): boolean;
181
+ /**
182
+ * Abort the request with a body + status (AdonisJS parity) — throws
183
+ * `E_HTTP_REQUEST_ABORTED`, which the exception handler renders (a string body
184
+ * verbatim, anything else as JSON).
185
+ */
186
+ abort(body: unknown, status?: number): never;
187
+ /** Abort only when `condition` is truthy (AdonisJS `abortIf`). */
188
+ abortIf(condition: unknown, body: unknown, status?: number): asserts condition is undefined | null | false;
189
+ /**
190
+ * Send a file to the client (AdonisJS `download`) — reads the file, infers the
191
+ * content-type from its extension, and sends it as a binary body. On a read
192
+ * error, `errorCallback` may map it to `[message, status?]`, else a 404.
193
+ */
194
+ download(filePath: string, generateEtag?: boolean, errorCallback?: (error: NodeJS.ErrnoException) => [string, number?]): void;
195
+ /**
196
+ * Force a file download with a `Content-Disposition` header (AdonisJS
197
+ * `attachment`). Defaults the filename to the file's basename.
198
+ */
199
+ attachment(filePath: string, name?: string, disposition?: string, generateEtag?: boolean): void;
51
200
  setRedirectFactory(factory: () => RedirectBuilder): void;
52
201
  /** @internal Wire the SSE backend (HyperServer NAPI). Injected by HttpKernel. */
53
202
  setStreamBackend(backend: StreamBackend): void;
@@ -69,13 +218,31 @@ export declare class Response {
69
218
  * to participate.
70
219
  */
71
220
  sse(options?: SseStreamOptions): Promise<SseStream>;
72
- /** Set a response cookie. */
73
- cookie(name: string, value: string, options?: {
74
- maxAge?: number;
221
+ /**
222
+ * Set a SIGNED response cookie (AdonisJS default). The value is HMAC-signed
223
+ * with the app's `APP_KEY` (via the injected signer) so tampering is detected
224
+ * on read; `request.cookie()` verifies + unwraps it. Falls back to a plain
225
+ * cookie when no APP_KEY / encryption service is configured.
226
+ */
227
+ cookie(name: string, value: string, options?: CookieOptions): this;
228
+ /**
229
+ * Set an UNSIGNED response cookie (AdonisJS `plainCookie`) — sent as-is. Use
230
+ * for values you already protect (encrypted session ids, CSRF tokens) or that
231
+ * a client-side script must read.
232
+ */
233
+ plainCookie(name: string, value: string, options?: CookieOptions): this;
234
+ /**
235
+ * Set an ENCRYPTED response cookie (AdonisJS `encryptedCookie`) — AES-256-GCM
236
+ * encrypted with `APP_KEY`, unreadable + tamper-proof on the client. Requires
237
+ * a configured encryption service (APP_KEY).
238
+ */
239
+ encryptedCookie(name: string, value: string, options?: CookieOptions): this;
240
+ /**
241
+ * Expire a cookie immediately (AdonisJS `clearCookie`) — re-sends it with
242
+ * `Max-Age=0`, the RFC 6265 delete-now signal that `cookie()` honours.
243
+ */
244
+ clearCookie(name: string, options?: {
75
245
  path?: string;
76
- httpOnly?: boolean;
77
- secure?: boolean;
78
- sameSite?: 'lax' | 'strict' | 'none';
79
246
  }): this;
80
247
  /** @internal Get the accumulated status code. */
81
248
  getStatus(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../src/http/Response.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAA;AAkCvB,qBAAa,QAAQ;;IAUnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAId,2CAA2C;IAC3C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK1B,sDAAsD;IACtD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS9B,wCAAwC;IACxC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMxC,qEAAqE;IACrE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAgBxC,gCAAgC;IAChC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK/B,8CAA8C;IAC9C,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAU/B,+DAA+D;IAC/D,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAMzB,kEAAkE;IAClE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IA6BzB;;;;;;;;;OASG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAShC,2BAA2B;IAC3B,SAAS,IAAI,IAAI;IAQjB,8BAA8B;IAC9B,QAAQ,IAAI,eAAe;IAS3B,4EAA4E;IAC5E,kBAAkB,CAAC,OAAO,EAAE,MAAM,eAAe,GAAG,IAAI;IAIxD,iFAAiF;IACjF,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAM9C;;;;;;;;;;;;;;;;OAgBG;IACG,GAAG,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IA2BzD,6BAA6B;IAC7B,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;KACrC,GACA,IAAI;IAkCP,iDAAiD;IACjD,SAAS,IAAI,MAAM;IAInB,gGAAgG;IAChG,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IASpC;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3C,iDAAiD;IACjD,OAAO,IAAI,MAAM;IAIjB,sDAAsD;IACtD,UAAU,IAAI,OAAO;IAIrB,yEAAyE;IACzE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B;;;;OAIG;IACH,WAAW,IAAI,MAAM,GAAG,SAAS;IAIjC;;;;;;;;;OASG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAanC"}
1
+ {"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../src/http/Response.ts"],"names":[],"mappings":"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"}