@c9up/ream 0.2.28 → 0.2.30

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 (293) hide show
  1. package/README.md +5 -6
  2. package/dist/Codemods.d.ts +24 -0
  3. package/dist/Codemods.d.ts.map +1 -1
  4. package/dist/Codemods.js +211 -1
  5. package/dist/Codemods.js.map +1 -1
  6. package/dist/HttpKernel.d.ts.map +1 -1
  7. package/dist/HttpKernel.js +17 -5
  8. package/dist/HttpKernel.js.map +1 -1
  9. package/dist/Ignitor.d.ts +15 -2
  10. package/dist/Ignitor.d.ts.map +1 -1
  11. package/dist/Ignitor.js +33 -23
  12. package/dist/Ignitor.js.map +1 -1
  13. package/dist/bodyparser/BodyParserMiddleware.d.ts +4 -4
  14. package/dist/bodyparser/BodyParserMiddleware.d.ts.map +1 -1
  15. package/dist/bodyparser/BodyParserMiddleware.js +41 -11
  16. package/dist/bodyparser/BodyParserMiddleware.js.map +1 -1
  17. package/dist/bodyparser/MultipartFile.d.ts +21 -15
  18. package/dist/bodyparser/MultipartFile.d.ts.map +1 -1
  19. package/dist/bodyparser/MultipartFile.js +40 -58
  20. package/dist/bodyparser/MultipartFile.js.map +1 -1
  21. package/dist/bodyparser/parseSize.d.ts +7 -4
  22. package/dist/bodyparser/parseSize.d.ts.map +1 -1
  23. package/dist/bodyparser/parseSize.js +12 -17
  24. package/dist/bodyparser/parseSize.js.map +1 -1
  25. package/dist/bodyparser/qsParse.d.ts +20 -1
  26. package/dist/bodyparser/qsParse.d.ts.map +1 -1
  27. package/dist/bodyparser/qsParse.js +78 -25
  28. package/dist/bodyparser/qsParse.js.map +1 -1
  29. package/dist/codemods/source.d.ts +57 -0
  30. package/dist/codemods/source.d.ts.map +1 -0
  31. package/dist/codemods/source.js +282 -0
  32. package/dist/codemods/source.js.map +1 -0
  33. package/dist/console/prompts.d.ts.map +1 -1
  34. package/dist/console/prompts.js +3 -1
  35. package/dist/console/prompts.js.map +1 -1
  36. package/dist/container/Container.d.ts.map +1 -1
  37. package/dist/container/Container.js +61 -71
  38. package/dist/container/Container.js.map +1 -1
  39. package/dist/events/Emitter.d.ts +12 -0
  40. package/dist/events/Emitter.d.ts.map +1 -1
  41. package/dist/events/Emitter.js +36 -9
  42. package/dist/events/Emitter.js.map +1 -1
  43. package/dist/events/helix/helpers.d.ts.map +1 -1
  44. package/dist/events/helix/helpers.js +19 -9
  45. package/dist/events/helix/helpers.js.map +1 -1
  46. package/dist/graphql/GraphQLEngine.d.ts +8 -0
  47. package/dist/graphql/GraphQLEngine.d.ts.map +1 -1
  48. package/dist/graphql/GraphQLEngine.js +79 -12
  49. package/dist/graphql/GraphQLEngine.js.map +1 -1
  50. package/dist/helpers/MessageBuilder.d.ts +4 -2
  51. package/dist/helpers/MessageBuilder.d.ts.map +1 -1
  52. package/dist/helpers/MessageBuilder.js +4 -2
  53. package/dist/helpers/MessageBuilder.js.map +1 -1
  54. package/dist/helpers/errors.d.ts +11 -0
  55. package/dist/helpers/errors.d.ts.map +1 -0
  56. package/dist/helpers/errors.js +17 -0
  57. package/dist/helpers/errors.js.map +1 -0
  58. package/dist/helpers/napi-loader.d.ts.map +1 -1
  59. package/dist/helpers/napi-loader.js +3 -2
  60. package/dist/helpers/napi-loader.js.map +1 -1
  61. package/dist/http/Exception.d.ts +14 -1
  62. package/dist/http/Exception.d.ts.map +1 -1
  63. package/dist/http/Exception.js +10 -2
  64. package/dist/http/Exception.js.map +1 -1
  65. package/dist/http/HttpContext.d.ts +31 -2
  66. package/dist/http/HttpContext.d.ts.map +1 -1
  67. package/dist/http/HttpContext.js +12 -5
  68. package/dist/http/HttpContext.js.map +1 -1
  69. package/dist/http/RedirectBuilder.d.ts +9 -3
  70. package/dist/http/RedirectBuilder.d.ts.map +1 -1
  71. package/dist/http/RedirectBuilder.js +43 -37
  72. package/dist/http/RedirectBuilder.js.map +1 -1
  73. package/dist/http/Request.d.ts +42 -17
  74. package/dist/http/Request.d.ts.map +1 -1
  75. package/dist/http/Request.js +80 -58
  76. package/dist/http/Request.js.map +1 -1
  77. package/dist/http/Response.d.ts +7 -4
  78. package/dist/http/Response.d.ts.map +1 -1
  79. package/dist/http/Response.js +14 -6
  80. package/dist/http/Response.js.map +1 -1
  81. package/dist/http/SseStream.js +6 -7
  82. package/dist/http/SseStream.js.map +1 -1
  83. package/dist/http/permissions.d.ts +25 -0
  84. package/dist/http/permissions.d.ts.map +1 -0
  85. package/dist/http/permissions.js +38 -0
  86. package/dist/http/permissions.js.map +1 -0
  87. package/dist/http-client/HttpClient.d.ts +111 -0
  88. package/dist/http-client/HttpClient.d.ts.map +1 -0
  89. package/dist/http-client/HttpClient.js +386 -0
  90. package/dist/http-client/HttpClient.js.map +1 -0
  91. package/dist/http-client/addresses.d.ts +14 -0
  92. package/dist/http-client/addresses.d.ts.map +1 -0
  93. package/dist/http-client/addresses.js +57 -0
  94. package/dist/http-client/addresses.js.map +1 -0
  95. package/dist/http-client/fake.d.ts +50 -0
  96. package/dist/http-client/fake.d.ts.map +1 -0
  97. package/dist/http-client/fake.js +95 -0
  98. package/dist/http-client/fake.js.map +1 -0
  99. package/dist/http-client/index.d.ts +7 -0
  100. package/dist/http-client/index.d.ts.map +1 -0
  101. package/dist/http-client/index.js +7 -0
  102. package/dist/http-client/index.js.map +1 -0
  103. package/dist/index.d.ts +4 -3
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +1 -1
  106. package/dist/index.js.map +1 -1
  107. package/dist/middleware/Pipeline.d.ts.map +1 -1
  108. package/dist/middleware/Pipeline.js +6 -3
  109. package/dist/middleware/Pipeline.js.map +1 -1
  110. package/dist/native/generated.d.ts +93 -36
  111. package/dist/native/generated.d.ts.map +1 -1
  112. package/dist/profiler/Profiler.d.ts.map +1 -1
  113. package/dist/profiler/Profiler.js +4 -1
  114. package/dist/profiler/Profiler.js.map +1 -1
  115. package/dist/profiler/client.generated.d.ts +5 -0
  116. package/dist/profiler/client.generated.d.ts.map +1 -0
  117. package/dist/profiler/client.generated.js +6 -0
  118. package/dist/profiler/client.generated.js.map +1 -0
  119. package/dist/profiler/collectors.d.ts +92 -13
  120. package/dist/profiler/collectors.d.ts.map +1 -1
  121. package/dist/profiler/collectors.js +106 -19
  122. package/dist/profiler/collectors.js.map +1 -1
  123. package/dist/profiler/endpoint.d.ts +2 -1
  124. package/dist/profiler/endpoint.d.ts.map +1 -1
  125. package/dist/profiler/endpoint.js +25 -1
  126. package/dist/profiler/endpoint.js.map +1 -1
  127. package/dist/profiler/index.d.ts +8 -4
  128. package/dist/profiler/index.d.ts.map +1 -1
  129. package/dist/profiler/index.js +11 -4
  130. package/dist/profiler/index.js.map +1 -1
  131. package/dist/profiler/middleware.d.ts.map +1 -1
  132. package/dist/profiler/middleware.js +76 -10
  133. package/dist/profiler/middleware.js.map +1 -1
  134. package/dist/profiler/preview.d.ts +17 -0
  135. package/dist/profiler/preview.d.ts.map +1 -0
  136. package/dist/profiler/preview.js +100 -0
  137. package/dist/profiler/preview.js.map +1 -0
  138. package/dist/profiler/toolbar.d.ts +15 -23
  139. package/dist/profiler/toolbar.d.ts.map +1 -1
  140. package/dist/profiler/toolbar.js +25 -91
  141. package/dist/profiler/toolbar.js.map +1 -1
  142. package/dist/profiler/types.d.ts +6 -1
  143. package/dist/profiler/types.d.ts.map +1 -1
  144. package/dist/router/Router.d.ts +6 -0
  145. package/dist/router/Router.d.ts.map +1 -1
  146. package/dist/router/Router.js +115 -12
  147. package/dist/router/Router.js.map +1 -1
  148. package/dist/rpc/RpcProvider.d.ts +6 -0
  149. package/dist/rpc/RpcProvider.d.ts.map +1 -1
  150. package/dist/rpc/RpcProvider.js +4 -1
  151. package/dist/rpc/RpcProvider.js.map +1 -1
  152. package/dist/rpc/RpcRouter.d.ts +27 -14
  153. package/dist/rpc/RpcRouter.d.ts.map +1 -1
  154. package/dist/rpc/RpcRouter.js +97 -40
  155. package/dist/rpc/RpcRouter.js.map +1 -1
  156. package/dist/scheduler/Scheduler.js +1 -1
  157. package/dist/scheduler/Scheduler.js.map +1 -1
  158. package/dist/scheduler/locks/RedisLockBackend.d.ts.map +1 -1
  159. package/dist/scheduler/locks/RedisLockBackend.js +13 -2
  160. package/dist/scheduler/locks/RedisLockBackend.js.map +1 -1
  161. package/dist/security/CookieSigner.d.ts.map +1 -1
  162. package/dist/security/CookieSigner.js +32 -8
  163. package/dist/security/CookieSigner.js.map +1 -1
  164. package/dist/security/SignedUrl.d.ts.map +1 -1
  165. package/dist/security/SignedUrl.js +16 -19
  166. package/dist/security/SignedUrl.js.map +1 -1
  167. package/dist/server/Server.d.ts +44 -12
  168. package/dist/server/Server.d.ts.map +1 -1
  169. package/dist/server/Server.js +31 -10
  170. package/dist/server/Server.js.map +1 -1
  171. package/dist/server/nativeGrpc.d.ts +27 -0
  172. package/dist/server/nativeGrpc.d.ts.map +1 -0
  173. package/dist/server/nativeGrpc.js +47 -0
  174. package/dist/server/nativeGrpc.js.map +1 -0
  175. package/dist/server/nativeLimits.d.ts +57 -0
  176. package/dist/server/nativeLimits.d.ts.map +1 -0
  177. package/dist/server/nativeLimits.js +75 -0
  178. package/dist/server/nativeLimits.js.map +1 -0
  179. package/dist/session/Session.d.ts +12 -0
  180. package/dist/session/Session.d.ts.map +1 -1
  181. package/dist/session/Session.js +13 -4
  182. package/dist/session/Session.js.map +1 -1
  183. package/dist/session/SessionMiddleware.d.ts.map +1 -1
  184. package/dist/session/SessionMiddleware.js +28 -9
  185. package/dist/session/SessionMiddleware.js.map +1 -1
  186. package/dist/session/config.d.ts +5 -0
  187. package/dist/session/config.d.ts.map +1 -1
  188. package/dist/session/config.js +8 -0
  189. package/dist/session/config.js.map +1 -1
  190. package/dist/session/drivers/MemoryDriver.d.ts.map +1 -1
  191. package/dist/session/drivers/MemoryDriver.js +26 -7
  192. package/dist/session/drivers/MemoryDriver.js.map +1 -1
  193. package/dist/session/errors.d.ts +17 -0
  194. package/dist/session/errors.d.ts.map +1 -1
  195. package/dist/session/errors.js +21 -0
  196. package/dist/session/errors.js.map +1 -1
  197. package/dist/session/templateTags.d.ts +14 -0
  198. package/dist/session/templateTags.d.ts.map +1 -1
  199. package/dist/session/templateTags.js +45 -17
  200. package/dist/session/templateTags.js.map +1 -1
  201. package/dist/storage/StaticMiddleware.d.ts.map +1 -1
  202. package/dist/storage/StaticMiddleware.js +49 -27
  203. package/dist/storage/StaticMiddleware.js.map +1 -1
  204. package/dist/testing/ApiResponse.d.ts.map +1 -1
  205. package/dist/testing/ApiResponse.js +7 -1
  206. package/dist/testing/ApiResponse.js.map +1 -1
  207. package/dist/testing/TestClient.d.ts.map +1 -1
  208. package/dist/testing/TestClient.js +16 -4
  209. package/dist/testing/TestClient.js.map +1 -1
  210. package/dist/utils/Macroable.d.ts +1 -1
  211. package/dist/utils/Macroable.js +2 -2
  212. package/dist/utils/Macroable.js.map +1 -1
  213. package/events.darwin-arm64.node +0 -0
  214. package/events.darwin-x64.node +0 -0
  215. package/events.linux-arm64-gnu.node +0 -0
  216. package/events.linux-x64-gnu.node +0 -0
  217. package/events.win32-x64-msvc.node +0 -0
  218. package/index.darwin-arm64.node +0 -0
  219. package/index.darwin-x64.node +0 -0
  220. package/index.linux-arm64-gnu.node +0 -0
  221. package/index.linux-x64-gnu.node +0 -0
  222. package/index.win32-x64-msvc.node +0 -0
  223. package/package.json +11 -3
  224. package/scheduler.darwin-arm64.node +0 -0
  225. package/scheduler.darwin-x64.node +0 -0
  226. package/scheduler.linux-arm64-gnu.node +0 -0
  227. package/scheduler.linux-x64-gnu.node +0 -0
  228. package/scheduler.win32-x64-msvc.node +0 -0
  229. package/src/Codemods.ts +314 -3
  230. package/src/HttpKernel.ts +18 -7
  231. package/src/Ignitor.ts +58 -26
  232. package/src/bodyparser/BodyParserMiddleware.ts +45 -16
  233. package/src/bodyparser/MultipartFile.ts +46 -67
  234. package/src/bodyparser/parseSize.ts +17 -17
  235. package/src/bodyparser/qsParse.ts +96 -26
  236. package/src/codemods/source.ts +303 -0
  237. package/src/console/prompts.ts +3 -1
  238. package/src/container/Container.ts +97 -81
  239. package/src/events/Emitter.ts +37 -10
  240. package/src/events/helix/helpers.ts +24 -19
  241. package/src/graphql/GraphQLEngine.ts +91 -14
  242. package/src/helpers/MessageBuilder.ts +4 -2
  243. package/src/helpers/errors.ts +16 -0
  244. package/src/helpers/napi-loader.ts +3 -2
  245. package/src/http/Exception.ts +17 -2
  246. package/src/http/HttpContext.ts +34 -5
  247. package/src/http/RedirectBuilder.ts +51 -37
  248. package/src/http/Request.ts +102 -58
  249. package/src/http/Response.ts +15 -7
  250. package/src/http/SseStream.ts +6 -7
  251. package/src/http/permissions.ts +47 -0
  252. package/src/http-client/HttpClient.ts +505 -0
  253. package/src/http-client/addresses.ts +58 -0
  254. package/src/http-client/fake.ts +141 -0
  255. package/src/http-client/index.ts +21 -0
  256. package/src/index.ts +6 -1
  257. package/src/middleware/Pipeline.ts +7 -3
  258. package/src/native/generated.ts +106 -48
  259. package/src/profiler/Profiler.ts +4 -1
  260. package/src/profiler/client/toolbar.css +595 -0
  261. package/src/profiler/client/toolbar.js +1299 -0
  262. package/src/profiler/client.generated.ts +7 -0
  263. package/src/profiler/collectors.ts +156 -19
  264. package/src/profiler/endpoint.ts +27 -1
  265. package/src/profiler/index.ts +17 -3
  266. package/src/profiler/middleware.ts +74 -9
  267. package/src/profiler/preview.ts +104 -0
  268. package/src/profiler/toolbar.ts +28 -91
  269. package/src/profiler/types.ts +6 -1
  270. package/src/router/Router.ts +136 -13
  271. package/src/rpc/RpcProvider.ts +10 -1
  272. package/src/rpc/RpcRouter.ts +129 -45
  273. package/src/scheduler/Scheduler.ts +1 -1
  274. package/src/scheduler/locks/RedisLockBackend.ts +12 -4
  275. package/src/security/CookieSigner.ts +30 -8
  276. package/src/security/SignedUrl.ts +18 -17
  277. package/src/server/Server.ts +60 -12
  278. package/src/server/nativeGrpc.ts +59 -0
  279. package/src/server/nativeLimits.ts +111 -0
  280. package/src/session/Session.ts +29 -4
  281. package/src/session/SessionMiddleware.ts +30 -10
  282. package/src/session/config.ts +7 -0
  283. package/src/session/drivers/MemoryDriver.ts +26 -7
  284. package/src/session/errors.ts +31 -0
  285. package/src/session/templateTags.ts +57 -0
  286. package/src/storage/StaticMiddleware.ts +46 -27
  287. package/src/testing/ApiResponse.ts +7 -1
  288. package/src/testing/TestClient.ts +14 -5
  289. package/src/utils/Macroable.ts +2 -2
  290. package/scripts/build-napi-types.mjs +0 -69
  291. package/scripts/copy-napi.mjs +0 -121
  292. package/scripts/generate-mime.mjs +0 -119
  293. package/scripts/generate-napi-types.mjs +0 -187
@@ -29,12 +29,23 @@ export type MiddlewareEntry = LazyImport<MiddlewareClassConstructor> | Middlewar
29
29
  export interface GrpcCall {
30
30
  /** `/package.Service/Method`, as it arrived. */
31
31
  path: string;
32
- /** Request metadata, header names lowercased. */
33
- metadata: Record<string, string>;
32
+ /**
33
+ * Request metadata: the request headers, every value of a repeated one in
34
+ * order, names lowercased. Never the client's trailers. A `-bin` value is
35
+ * the base64 text that arrived: this is the HTTP/2 header layer, and the
36
+ * gRPC package that registers the handler decodes it, as a gRPC library's
37
+ * metadata class does over Node's HTTP/2 headers.
38
+ */
39
+ metadata: Record<string, string[]>;
34
40
  /** The request message, still encoded. */
35
41
  message: Uint8Array;
36
42
  /** Resolved client IP, by the same trusted-proxy rules as `request.ip()`. */
37
43
  ip: string;
44
+ /**
45
+ * Aborted when the client gives up on the call — resets its stream or
46
+ * closes the connection — before the handler answered.
47
+ */
48
+ signal: AbortSignal;
38
49
  }
39
50
  /** A reply message, still encoded — or a gRPC status code instead of one. */
40
51
  export type GrpcReply = {
@@ -44,20 +55,39 @@ export type GrpcReply = {
44
55
  details: string;
45
56
  };
46
57
  export type GrpcHandler = (call: GrpcCall) => Promise<GrpcReply>;
58
+ /**
59
+ * Message size bounds of the gRPC calls, in bytes; `-1` for none. A request
60
+ * past its bound is refused, `RESOURCE_EXHAUSTED`, before it is read; a reply
61
+ * past its bound is answered `RESOURCE_EXHAUSTED` instead.
62
+ */
63
+ export interface GrpcLimits {
64
+ /** Default 4 MiB. */
65
+ maxReceiveMessageLength?: number;
66
+ /** Default `-1`: no bound. */
67
+ maxSendMessageLength?: number;
68
+ }
47
69
  export declare class Server {
48
70
  #private;
49
71
  constructor(router: Router);
50
72
  /**
51
- * Configure the trusted-proxy CIDR list. The Rust HyperServer uses it to
52
- * pre-resolve `request.ip` once per request — JS reads the field, no CIDR
53
- * matching in TS.
73
+ * Configure the trusted proxies. The Rust HyperServer uses them to
74
+ * pre-resolve `request.ip()` / `request.ips()` once per request — JS reads
75
+ * the fields, no CIDR matching in TS.
76
+ *
77
+ * The chain is the socket peer, then the `X-Forwarded-For` entries read
78
+ * right to left; it stops at the first hop that is not a trusted proxy, and
79
+ * its last entry is the client IP. Proxies append what they saw, so the
80
+ * left-most entry — the one a client writes itself — is only reached when
81
+ * every hop after it is trusted. `X-Real-IP` is never read.
82
+ *
83
+ * Entries: addresses or CIDR ranges, IPv4 or IPv6 (`'10.0.0.0/8'`,
84
+ * `'fd00::/8'`), IPv4 netmasks (`'10.0.0.0/255.0.0.0'`), the named ranges
85
+ * `'loopback'`, `'linklocal'`, `'uniquelocal'`, or `'*'` to trust every hop
86
+ * (the left-most entry wins — any client can choose its IP). An entry that is
87
+ * none of these makes the server refuse to start.
54
88
  *
55
- * Empty list (default, 2026-05+) is **strict fail-closed**: `X-Forwarded-For`
56
- * and `X-Real-IP` are ignored entirely; only the socket peer is used.
57
- * Apps deployed behind a reverse proxy must list the proxy's CIDR
58
- * (`'10.0.0.0/8'`, `'192.0.2.0/24'`, etc.) or pass the `'*'` sentinel
59
- * for permissive mode (accepts spoofing as the explicit trade-off when
60
- * proxy CIDRs can't be enumerated).
89
+ * Empty list (default) is **strict fail-closed**: `X-Forwarded-For` is
90
+ * ignored and only the socket peer is used.
61
91
  */
62
92
  trustedProxies(cidrs: string[]): this;
63
93
  /** Read the current trusted-proxy list (consumed by Ignitor at boot). */
@@ -77,7 +107,9 @@ export declare class Server {
77
107
  * One handler per server: a second one throws. Two packages both serving
78
108
  * gRPC is a conflict to resolve, not to settle by load order.
79
109
  */
80
- grpc(handler: GrpcHandler): this;
110
+ grpc(handler: GrpcHandler, limits?: GrpcLimits): this;
111
+ /** The message bounds given with the gRPC handler (consumed by Ignitor at boot). */
112
+ getGrpcLimits(): GrpcLimits;
81
113
  /** The gRPC handler, if one is set (consumed by Ignitor at boot). */
82
114
  getGrpcHandler(): GrpcHandler | undefined;
83
115
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../src/server/Server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEjD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC1F;AAED,4DAA4D;AAC5D,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CAAC,CAAA;AAIzD,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,gBAAgB,CAAA;AAE1E,MAAM,MAAM,0BAA0B,GAAG,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,eAAe,CAAA;AAElF,mFAAmF;AACnF,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,0BAA0B,CAAC,GAAG,kBAAkB,CAAA;AAEzF,+DAA+D;AAC/D,MAAM,WAAW,QAAQ;IACvB,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,0CAA0C;IAC1C,OAAO,EAAE,UAAU,CAAA;IACnB,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAA;CACX;AAED,6EAA6E;AAC7E,MAAM,MAAM,SAAS,GAAG;IAAE,OAAO,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnF,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;AAEhE,qBAAa,MAAM;;gBAQL,MAAM,EAAE,MAAM;IAI1B;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAKrC,yEAAyE;IACzE,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAItC;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAUhC,qEAAqE;IACrE,cAAc,IAAI,WAAW,GAAG,SAAS;IAIzC;;;;OAIG;IACH,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,IAAI;IAOxC;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAK1D,8EAA8E;IACxE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,mBAAmB,IAAI,kBAAkB,EAAE;IAI3C,eAAe,IAAI,gBAAgB,GAAG,SAAS;IAI/C,SAAS,IAAI,MAAM;CAGpB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,kBAAkB,CAiCjF;AAED;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,eAAe,GACrB,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,kBAAkB,CAmBxC"}
1
+ {"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../src/server/Server.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,11 @@
6
6
  * - server.errorHandler(() => import('#exceptions/handler')) — custom exception handler
7
7
  */
8
8
  import { ReamError } from '../errors/ReamError.js';
9
+ function checkGrpcLimit(name, value) {
10
+ if (value === undefined || value === -1 || (Number.isSafeInteger(value) && value >= 0))
11
+ return;
12
+ throw new ReamError('E_SERVER_GRPC_INVALID_LIMIT', `${name} must be a whole number of bytes, or -1 for no limit — got ${value}.`);
13
+ }
9
14
  export class Server {
10
15
  #router;
11
16
  #serverMiddleware = [];
@@ -13,20 +18,29 @@ export class Server {
13
18
  #resolvedErrorHandler;
14
19
  #trustedProxies = [];
15
20
  #grpcHandler;
21
+ #grpcLimits = {};
16
22
  constructor(router) {
17
23
  this.#router = router;
18
24
  }
19
25
  /**
20
- * Configure the trusted-proxy CIDR list. The Rust HyperServer uses it to
21
- * pre-resolve `request.ip` once per request — JS reads the field, no CIDR
22
- * matching in TS.
26
+ * Configure the trusted proxies. The Rust HyperServer uses them to
27
+ * pre-resolve `request.ip()` / `request.ips()` once per request — JS reads
28
+ * the fields, no CIDR matching in TS.
29
+ *
30
+ * The chain is the socket peer, then the `X-Forwarded-For` entries read
31
+ * right to left; it stops at the first hop that is not a trusted proxy, and
32
+ * its last entry is the client IP. Proxies append what they saw, so the
33
+ * left-most entry — the one a client writes itself — is only reached when
34
+ * every hop after it is trusted. `X-Real-IP` is never read.
23
35
  *
24
- * Empty list (default, 2026-05+) is **strict fail-closed**: `X-Forwarded-For`
25
- * and `X-Real-IP` are ignored entirely; only the socket peer is used.
26
- * Apps deployed behind a reverse proxy must list the proxy's CIDR
27
- * (`'10.0.0.0/8'`, `'192.0.2.0/24'`, etc.) or pass the `'*'` sentinel
28
- * for permissive mode (accepts spoofing as the explicit trade-off when
29
- * proxy CIDRs can't be enumerated).
36
+ * Entries: addresses or CIDR ranges, IPv4 or IPv6 (`'10.0.0.0/8'`,
37
+ * `'fd00::/8'`), IPv4 netmasks (`'10.0.0.0/255.0.0.0'`), the named ranges
38
+ * `'loopback'`, `'linklocal'`, `'uniquelocal'`, or `'*'` to trust every hop
39
+ * (the left-most entry wins — any client can choose its IP). An entry that is
40
+ * none of these makes the server refuse to start.
41
+ *
42
+ * Empty list (default) is **strict fail-closed**: `X-Forwarded-For` is
43
+ * ignored and only the socket peer is used.
30
44
  */
31
45
  trustedProxies(cidrs) {
32
46
  this.#trustedProxies = [...cidrs];
@@ -51,15 +65,22 @@ export class Server {
51
65
  * One handler per server: a second one throws. Two packages both serving
52
66
  * gRPC is a conflict to resolve, not to settle by load order.
53
67
  */
54
- grpc(handler) {
68
+ grpc(handler, limits = {}) {
55
69
  if (this.#grpcHandler) {
56
70
  throw new ReamError('E_SERVER_GRPC_ALREADY_SET', 'A gRPC handler is already registered.', {
57
71
  hint: 'Only one package can serve gRPC on the HTTP port.',
58
72
  });
59
73
  }
74
+ checkGrpcLimit('maxReceiveMessageLength', limits.maxReceiveMessageLength);
75
+ checkGrpcLimit('maxSendMessageLength', limits.maxSendMessageLength);
60
76
  this.#grpcHandler = handler;
77
+ this.#grpcLimits = { ...limits };
61
78
  return this;
62
79
  }
80
+ /** The message bounds given with the gRPC handler (consumed by Ignitor at boot). */
81
+ getGrpcLimits() {
82
+ return { ...this.#grpcLimits };
83
+ }
63
84
  /** The gRPC handler, if one is set (consumed by Ignitor at boot). */
64
85
  getGrpcHandler() {
65
86
  return this.#grpcHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../src/server/Server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../src/server/Server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The gRPC handler as the native server calls it.
3
+ *
4
+ * The native server numbers each call and, separately, reports the numbers
5
+ * of the calls a client gave up on — a reset stream or a closed connection —
6
+ * before the handler answered. This turns those reports into the `signal` of
7
+ * each {@link GrpcCall}, so that a handler can stop the work it started.
8
+ *
9
+ * Calls reach JavaScript in increasing id order, but a cancel travels on its
10
+ * own queue and can arrive before its call: one for an id not seen yet is
11
+ * kept until that call arrives; one for an id already seen and finished is
12
+ * dropped.
13
+ */
14
+ import type { GrpcCall, GrpcHandler, GrpcReply } from './Server.js';
15
+ /** A call as the native server hands it over: numbered, without a signal. */
16
+ export interface NativeGrpcCall extends Omit<GrpcCall, 'signal'> {
17
+ id: number;
18
+ }
19
+ export type NativeGrpcHandler = (call: NativeGrpcCall) => Promise<GrpcReply>;
20
+ export interface CancellableGrpc {
21
+ /** Give to the native server's `onGrpc`. */
22
+ onCall: NativeGrpcHandler;
23
+ /** Give to the native server's `onGrpcCancel`. */
24
+ onCancel: (id: number) => void;
25
+ }
26
+ export declare function cancellableGrpc(handler: GrpcHandler): CancellableGrpc;
27
+ //# sourceMappingURL=nativeGrpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeGrpc.d.ts","sourceRoot":"","sources":["../../src/server/nativeGrpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEnE,6EAA6E;AAC7E,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC9D,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;AAE5E,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,MAAM,EAAE,iBAAiB,CAAA;IACzB,kDAAkD;IAClD,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,eAAe,CA4BrE"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * The gRPC handler as the native server calls it.
3
+ *
4
+ * The native server numbers each call and, separately, reports the numbers
5
+ * of the calls a client gave up on — a reset stream or a closed connection —
6
+ * before the handler answered. This turns those reports into the `signal` of
7
+ * each {@link GrpcCall}, so that a handler can stop the work it started.
8
+ *
9
+ * Calls reach JavaScript in increasing id order, but a cancel travels on its
10
+ * own queue and can arrive before its call: one for an id not seen yet is
11
+ * kept until that call arrives; one for an id already seen and finished is
12
+ * dropped.
13
+ */
14
+ export function cancellableGrpc(handler) {
15
+ const running = new Map();
16
+ // Cancels that arrived before their call.
17
+ const early = new Set();
18
+ let lastSeen = 0;
19
+ return {
20
+ async onCall({ id, ...call }) {
21
+ lastSeen = Math.max(lastSeen, id);
22
+ const controller = new AbortController();
23
+ for (const cancelled of early) {
24
+ if (cancelled > id)
25
+ continue;
26
+ early.delete(cancelled);
27
+ if (cancelled === id)
28
+ controller.abort();
29
+ }
30
+ running.set(id, controller);
31
+ try {
32
+ return await handler({ ...call, signal: controller.signal });
33
+ }
34
+ finally {
35
+ running.delete(id);
36
+ }
37
+ },
38
+ onCancel(id) {
39
+ const controller = running.get(id);
40
+ if (controller !== undefined)
41
+ controller.abort();
42
+ else if (id > lastSeen)
43
+ early.add(id);
44
+ },
45
+ };
46
+ }
47
+ //# sourceMappingURL=nativeGrpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeGrpc.js","sourceRoot":"","sources":["../../src/server/nativeGrpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAkBH,MAAM,UAAU,eAAe,CAAC,OAAoB;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAA;IAClD,0CAA0C;IAC1C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAC/B,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE;YAC1B,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YACjC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;YACxC,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;gBAC9B,IAAI,SAAS,GAAG,EAAE;oBAAE,SAAQ;gBAC5B,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;gBACvB,IAAI,SAAS,KAAK,EAAE;oBAAE,UAAU,CAAC,KAAK,EAAE,CAAA;YAC1C,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;YAC3B,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;YAC9D,CAAC;oBAAS,CAAC;gBACT,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,EAAE;YACT,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAClC,IAAI,UAAU,KAAK,SAAS;gBAAE,UAAU,CAAC,KAAK,EAAE,CAAA;iBAC3C,IAAI,EAAE,GAAG,QAAQ;gBAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * The limits the native server applies at the socket, read from the
3
+ * application's configuration.
4
+ *
5
+ * - Body limits come from `config/bodyparser.ts`: the native server enforces
6
+ * each section's `limit` WHILE reading the body, so nothing past it is ever
7
+ * buffered. The request still reaches routing, without its body and marked
8
+ * `bodyTooLarge`; reading the body then throws the 413 the body parser
9
+ * raises. The body parser keeps its own check; the two read one config.
10
+ * - Timeouts and the connection cap come from `config/app.ts` → `http`, where
11
+ * an AdonisJS app sets `headersTimeout`, `requestTimeout` and
12
+ * `keepAliveTimeout` for Node's server. `maxConnections` has no AdonisJS
13
+ * option (Node's `server.maxConnections` is left unbounded there); it is a
14
+ * deliberate DoS bound, and past it new clients wait in the listen backlog.
15
+ *
16
+ * Why the body limits are applied natively at all (NAPI constraint): the
17
+ * native server hands JS a request whose body is already read, where AdonisJS
18
+ * leaves the body in Node's stream until the parser pulls it. Without a limit
19
+ * at the read, every body is buffered before any JS-side limit can apply.
20
+ */
21
+ import type { BodyParserConfig } from '../bodyparser/BodyParserMiddleware.js';
22
+ /** One body-parser section as the native server takes it (bytes). */
23
+ export interface NativeBodyLimit {
24
+ limit?: number;
25
+ types?: string[];
26
+ }
27
+ /**
28
+ * The multipart section, with the part counts the native parser enforces
29
+ * while it parses: it stops at the first field or file past its bound.
30
+ */
31
+ export interface NativeMultipartLimit extends NativeBodyLimit {
32
+ maxFields?: number;
33
+ maxFiles?: number;
34
+ }
35
+ /** Body limits per body-parser section; an omitted section keeps its default. */
36
+ export interface NativeBodyLimits {
37
+ json?: NativeBodyLimit;
38
+ form?: NativeBodyLimit;
39
+ raw?: NativeBodyLimit;
40
+ multipart?: NativeMultipartLimit;
41
+ }
42
+ /** Timeouts in milliseconds (`0` disables one) and the connection cap (`0` = unbounded). */
43
+ export interface NativeConnectionConfig {
44
+ headersTimeout?: number;
45
+ requestTimeout?: number;
46
+ keepAliveTimeout?: number;
47
+ maxConnections?: number;
48
+ }
49
+ /** Translate `config/bodyparser.ts` into the native server's body limits. */
50
+ export declare function nativeBodyLimits(config: BodyParserConfig): NativeBodyLimits;
51
+ /**
52
+ * Pick the connection settings out of the `http` block of `config/app.ts`.
53
+ * Throws on a value that is not a whole number of milliseconds (or
54
+ * connections) the native server can hold, rather than letting it wrap.
55
+ */
56
+ export declare function nativeConnectionConfig(http: unknown): NativeConnectionConfig;
57
+ //# sourceMappingURL=nativeLimits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeLimits.d.ts","sourceRoot":"","sources":["../../src/server/nativeLimits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAA;AAI7E,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,GAAG,CAAC,EAAE,eAAe,CAAA;IACrB,SAAS,CAAC,EAAE,oBAAoB,CAAA;CACjC;AAED,4FAA4F;AAC5F,MAAM,WAAW,sBAAsB;IACrC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAID,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAmB3E;AAWD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,sBAAsB,CAgB5E"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * The limits the native server applies at the socket, read from the
3
+ * application's configuration.
4
+ *
5
+ * - Body limits come from `config/bodyparser.ts`: the native server enforces
6
+ * each section's `limit` WHILE reading the body, so nothing past it is ever
7
+ * buffered. The request still reaches routing, without its body and marked
8
+ * `bodyTooLarge`; reading the body then throws the 413 the body parser
9
+ * raises. The body parser keeps its own check; the two read one config.
10
+ * - Timeouts and the connection cap come from `config/app.ts` → `http`, where
11
+ * an AdonisJS app sets `headersTimeout`, `requestTimeout` and
12
+ * `keepAliveTimeout` for Node's server. `maxConnections` has no AdonisJS
13
+ * option (Node's `server.maxConnections` is left unbounded there); it is a
14
+ * deliberate DoS bound, and past it new clients wait in the listen backlog.
15
+ *
16
+ * Why the body limits are applied natively at all (NAPI constraint): the
17
+ * native server hands JS a request whose body is already read, where AdonisJS
18
+ * leaves the body in Node's stream until the parser pulls it. Without a limit
19
+ * at the read, every body is buffered before any JS-side limit can apply.
20
+ */
21
+ import { parseSize } from '../bodyparser/parseSize.js';
22
+ import { ReamError } from '../errors/ReamError.js';
23
+ const SECTIONS = ['json', 'form', 'raw', 'multipart'];
24
+ /** Translate `config/bodyparser.ts` into the native server's body limits. */
25
+ export function nativeBodyLimits(config) {
26
+ const limits = {};
27
+ for (const section of SECTIONS) {
28
+ const given = config[section];
29
+ if (!given)
30
+ continue;
31
+ const native = {};
32
+ if (given.limit !== undefined)
33
+ native.limit = parseSize(given.limit);
34
+ if (given.types !== undefined)
35
+ native.types = [...given.types];
36
+ limits[section] = native;
37
+ }
38
+ const multipart = config.multipart;
39
+ if (multipart) {
40
+ limits.multipart = {
41
+ ...limits.multipart,
42
+ ...(multipart.maxFields !== undefined && { maxFields: multipart.maxFields }),
43
+ ...(multipart.maxFiles !== undefined && { maxFiles: multipart.maxFiles }),
44
+ };
45
+ }
46
+ return limits;
47
+ }
48
+ const CONNECTION_KEYS = [
49
+ 'headersTimeout',
50
+ 'requestTimeout',
51
+ 'keepAliveTimeout',
52
+ 'maxConnections',
53
+ ];
54
+ const MAX_U32 = 2 ** 32 - 1;
55
+ /**
56
+ * Pick the connection settings out of the `http` block of `config/app.ts`.
57
+ * Throws on a value that is not a whole number of milliseconds (or
58
+ * connections) the native server can hold, rather than letting it wrap.
59
+ */
60
+ export function nativeConnectionConfig(http) {
61
+ const config = {};
62
+ if (typeof http !== 'object' || http === null)
63
+ return config;
64
+ for (const key of CONNECTION_KEYS) {
65
+ const value = Reflect.get(http, key);
66
+ if (value === undefined)
67
+ continue;
68
+ if (typeof value !== 'number' || !Number.isInteger(value) || value < 0 || value > MAX_U32) {
69
+ throw new ReamError('E_IGNITOR_INVALID_HTTP_CONFIG', `\`http.${key}\` must be a whole number between 0 and ${MAX_U32}, received ${String(value)}.`, { hint: 'Timeouts are in milliseconds; 0 disables the bound.' });
70
+ }
71
+ config[key] = value;
72
+ }
73
+ return config;
74
+ }
75
+ //# sourceMappingURL=nativeLimits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeLimits.js","sourceRoot":"","sources":["../../src/server/nativeLimits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAiClD,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAU,CAAA;AAE9D,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAAC,MAAwB;IACvD,MAAM,MAAM,GAAqB,EAAE,CAAA;IACnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK;YAAE,SAAQ;QACpB,MAAM,MAAM,GAAoB,EAAE,CAAA;QAClC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpE,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QAC9D,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAA;IAC1B,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IAClC,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,SAAS,GAAG;YACjB,GAAG,MAAM,CAAC,SAAS;YACnB,GAAG,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;YAC5E,GAAG,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;SAC1E,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,eAAe,GAAG;IACtB,gBAAgB;IAChB,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;CACR,CAAA;AAEV,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAE3B;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAa;IAClD,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,MAAM,CAAA;IAC5D,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,MAAM,KAAK,GAAY,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC7C,IAAI,KAAK,KAAK,SAAS;YAAE,SAAQ;QACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;YAC1F,MAAM,IAAI,SAAS,CACjB,+BAA+B,EAC/B,UAAU,GAAG,2CAA2C,OAAO,cAAc,MAAM,CAAC,KAAK,CAAC,GAAG,EAC7F,EAAE,IAAI,EAAE,qDAAqD,EAAE,CAChE,CAAA;QACH,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACrB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -9,6 +9,7 @@
9
9
  *
10
10
  * Backed by pluggable drivers (cookie, memory, redis).
11
11
  */
12
+ import type { CookieOptions } from '../http/Response.js';
12
13
  import type { SessionRedisClientSource } from './drivers/RedisDriver.js';
13
14
  import { ReadOnlyValuesStore } from './ReadOnlyValuesStore.js';
14
15
  export interface SessionDriver {
@@ -124,7 +125,18 @@ export interface SessionConfig {
124
125
  client?: SessionRedisClientSource;
125
126
  /** `redis` driver only — key prefix. Defaults to `ream:session:`. */
126
127
  prefix?: string;
128
+ /**
129
+ * Attributes of the session cookie, for every store. Defaults:
130
+ * `{ path: '/', httpOnly: true, sameSite: 'lax' }`, and `secure` on when
131
+ * `NODE_ENV` is production. Its lifetime comes from {@link age} and
132
+ * {@link clearWithBrowser}, not from here. `httpOnly: false` is refused: a
133
+ * script able to read the session cookie is what turns an XSS into an
134
+ * account takeover.
135
+ */
136
+ cookie?: SessionCookieOptions;
127
137
  }
138
+ /** The session cookie attributes an application may set. */
139
+ export type SessionCookieOptions = Pick<CookieOptions, 'path' | 'httpOnly' | 'secure' | 'sameSite' | 'domain' | 'partitioned' | 'priority'>;
128
140
  export declare class Session {
129
141
  #private;
130
142
  constructor(sessionId: string, data?: Record<string, unknown>);
@@ -1 +1 @@
1
- {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../src/session/Session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../src/session/Session.ts"],"names":[],"mappings":"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"}
@@ -135,18 +135,27 @@ export class Session {
135
135
  // The store is untyped by nature, so `T` is the CALLER's claim about what
136
136
  // it put there — one assertion from `unknown`, which is what `T` means
137
137
  // here. Going through `any` first widened nothing and hid the intent.
138
- if (key in this.#data)
138
+ // OWN keys only: `in` walked the prototype, so an empty session answered
139
+ // `get('toString')` with a function and `has('constructor')` with true.
140
+ if (Object.hasOwn(this.#data, key))
139
141
  return this.#data[key];
140
142
  return defaultValue;
141
143
  }
142
144
  /** Set a session value. */
143
145
  put(key, value) {
144
- this.#data[key] = value;
146
+ // Defined, not assigned: `put('__proto__', x)` stores a key like any
147
+ // other instead of replacing the session data's prototype.
148
+ Object.defineProperty(this.#data, key, {
149
+ value,
150
+ writable: true,
151
+ enumerable: true,
152
+ configurable: true,
153
+ });
145
154
  this.#dirty = true;
146
155
  }
147
156
  /** Check if a key exists. */
148
157
  has(key) {
149
- return key in this.#data;
158
+ return Object.hasOwn(this.#data, key);
150
159
  }
151
160
  /** Get all session data. */
152
161
  all() {
@@ -329,7 +338,7 @@ export class Session {
329
338
  old(key, defaultValue) {
330
339
  // Same contract as `get`: `T` is the caller's claim about a store that is
331
340
  // untyped by nature.
332
- if (key in this.#previousFlash)
341
+ if (Object.hasOwn(this.#previousFlash, key))
333
342
  return this.#previousFlash[key];
334
343
  return defaultValue;
335
344
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Session.js","sourceRoot":"","sources":["../../src/session/Session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Session.js","sourceRoot":"","sources":["../../src/session/Session.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SessionMiddleware.d.ts","sourceRoot":"","sources":["../../src/session/SessionMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AA6BrD,MAAM,CAAC,OAAO,OAAO,iBAAiB;;gBAKxB,cAAc,GAAE,kBAAkB,GAAG,SAAqB;IAsEhE,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;CAwIzD"}
1
+ {"version":3,"file":"SessionMiddleware.d.ts","sourceRoot":"","sources":["../../src/session/SessionMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AA+BrD,MAAM,CAAC,OAAO,OAAO,iBAAiB;;gBAKxB,cAAc,GAAE,kBAAkB,GAAG,SAAqB;IA8EhE,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;CAiJzD"}