@c9up/ream 0.1.32 → 0.1.34

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 (193) hide show
  1. package/dist/Application.d.ts +27 -0
  2. package/dist/Application.d.ts.map +1 -1
  3. package/dist/Application.js +29 -0
  4. package/dist/Application.js.map +1 -1
  5. package/dist/ConfigLoader.d.ts +4 -0
  6. package/dist/ConfigLoader.d.ts.map +1 -1
  7. package/dist/ConfigLoader.js +0 -8
  8. package/dist/ConfigLoader.js.map +1 -1
  9. package/dist/ErrorBoundary.d.ts.map +1 -1
  10. package/dist/ErrorBoundary.js +13 -1
  11. package/dist/ErrorBoundary.js.map +1 -1
  12. package/dist/HttpKernel.d.ts +8 -0
  13. package/dist/HttpKernel.d.ts.map +1 -1
  14. package/dist/HttpKernel.js +35 -12
  15. package/dist/HttpKernel.js.map +1 -1
  16. package/dist/Ignitor.d.ts +8 -0
  17. package/dist/Ignitor.d.ts.map +1 -1
  18. package/dist/Ignitor.js +39 -0
  19. package/dist/Ignitor.js.map +1 -1
  20. package/dist/bodyparser/BodyParserMiddleware.d.ts +11 -4
  21. package/dist/bodyparser/BodyParserMiddleware.d.ts.map +1 -1
  22. package/dist/bodyparser/BodyParserMiddleware.js +55 -43
  23. package/dist/bodyparser/BodyParserMiddleware.js.map +1 -1
  24. package/dist/bodyparser/qsParse.d.ts +52 -0
  25. package/dist/bodyparser/qsParse.d.ts.map +1 -0
  26. package/dist/bodyparser/qsParse.js +161 -0
  27. package/dist/bodyparser/qsParse.js.map +1 -0
  28. package/dist/bootstrap/hyper-server.d.ts.map +1 -1
  29. package/dist/bootstrap/hyper-server.js +2 -8
  30. package/dist/bootstrap/hyper-server.js.map +1 -1
  31. package/dist/container/Container.d.ts +41 -0
  32. package/dist/container/Container.d.ts.map +1 -1
  33. package/dist/container/Container.js +193 -26
  34. package/dist/container/Container.js.map +1 -1
  35. package/dist/container/ContainerResolver.d.ts +46 -0
  36. package/dist/container/ContainerResolver.d.ts.map +1 -0
  37. package/dist/container/ContainerResolver.js +60 -0
  38. package/dist/container/ContainerResolver.js.map +1 -0
  39. package/dist/container/ContextualBindingsBuilder.d.ts +20 -0
  40. package/dist/container/ContextualBindingsBuilder.d.ts.map +1 -0
  41. package/dist/container/ContextualBindingsBuilder.js +31 -0
  42. package/dist/container/ContextualBindingsBuilder.js.map +1 -0
  43. package/dist/container/types.d.ts +9 -6
  44. package/dist/container/types.d.ts.map +1 -1
  45. package/dist/decorators/Service.d.ts +1 -5
  46. package/dist/decorators/Service.d.ts.map +1 -1
  47. package/dist/decorators/Service.js +10 -1
  48. package/dist/decorators/Service.js.map +1 -1
  49. package/dist/events/Emitter.d.ts +66 -6
  50. package/dist/events/Emitter.d.ts.map +1 -1
  51. package/dist/events/Emitter.js +165 -28
  52. package/dist/events/Emitter.js.map +1 -1
  53. package/dist/graphql/GraphQLEngine.d.ts.map +1 -1
  54. package/dist/graphql/GraphQLEngine.js +5 -5
  55. package/dist/graphql/GraphQLEngine.js.map +1 -1
  56. package/dist/helpers/duration.d.ts +32 -0
  57. package/dist/helpers/duration.d.ts.map +1 -0
  58. package/dist/helpers/duration.js +74 -0
  59. package/dist/helpers/duration.js.map +1 -0
  60. package/dist/helpers/napi-loader.d.ts +10 -1
  61. package/dist/helpers/napi-loader.d.ts.map +1 -1
  62. package/dist/helpers/napi-loader.js +18 -3
  63. package/dist/helpers/napi-loader.js.map +1 -1
  64. package/dist/helpers/types.d.ts +1 -1
  65. package/dist/helpers/types.d.ts.map +1 -1
  66. package/dist/http/Exception.d.ts.map +1 -1
  67. package/dist/http/Exception.js +17 -5
  68. package/dist/http/Exception.js.map +1 -1
  69. package/dist/http/HttpContext.d.ts +24 -5
  70. package/dist/http/HttpContext.d.ts.map +1 -1
  71. package/dist/http/HttpContext.js +12 -2
  72. package/dist/http/HttpContext.js.map +1 -1
  73. package/dist/http/RedirectBuilder.d.ts +48 -2
  74. package/dist/http/RedirectBuilder.d.ts.map +1 -1
  75. package/dist/http/RedirectBuilder.js +95 -14
  76. package/dist/http/RedirectBuilder.js.map +1 -1
  77. package/dist/http/Request.d.ts +143 -8
  78. package/dist/http/Request.d.ts.map +1 -1
  79. package/dist/http/Request.js +241 -21
  80. package/dist/http/Request.js.map +1 -1
  81. package/dist/http/Response.d.ts +74 -3
  82. package/dist/http/Response.d.ts.map +1 -1
  83. package/dist/http/Response.js +177 -4
  84. package/dist/http/Response.js.map +1 -1
  85. package/dist/index.d.ts +9 -3
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +5 -1
  88. package/dist/index.js.map +1 -1
  89. package/dist/router/Router.d.ts +36 -7
  90. package/dist/router/Router.d.ts.map +1 -1
  91. package/dist/router/Router.js +66 -22
  92. package/dist/router/Router.js.map +1 -1
  93. package/dist/security/CookieSigner.d.ts +35 -4
  94. package/dist/security/CookieSigner.d.ts.map +1 -1
  95. package/dist/security/CookieSigner.js +99 -10
  96. package/dist/security/CookieSigner.js.map +1 -1
  97. package/dist/server/Server.d.ts +2 -3
  98. package/dist/server/Server.d.ts.map +1 -1
  99. package/dist/server/Server.js +30 -13
  100. package/dist/server/Server.js.map +1 -1
  101. package/dist/session/ReadOnlyValuesStore.d.ts +24 -0
  102. package/dist/session/ReadOnlyValuesStore.d.ts.map +1 -0
  103. package/dist/session/ReadOnlyValuesStore.js +45 -0
  104. package/dist/session/ReadOnlyValuesStore.js.map +1 -0
  105. package/dist/session/Session.d.ts +181 -9
  106. package/dist/session/Session.d.ts.map +1 -1
  107. package/dist/session/Session.js +284 -33
  108. package/dist/session/Session.js.map +1 -1
  109. package/dist/session/SessionMiddleware.d.ts.map +1 -1
  110. package/dist/session/SessionMiddleware.js +87 -33
  111. package/dist/session/SessionMiddleware.js.map +1 -1
  112. package/dist/session/drivers/DatabaseDriver.d.ts +66 -0
  113. package/dist/session/drivers/DatabaseDriver.d.ts.map +1 -0
  114. package/dist/session/drivers/DatabaseDriver.js +132 -0
  115. package/dist/session/drivers/DatabaseDriver.js.map +1 -0
  116. package/dist/session/drivers/FileDriver.d.ts +22 -0
  117. package/dist/session/drivers/FileDriver.d.ts.map +1 -0
  118. package/dist/session/drivers/FileDriver.js +66 -0
  119. package/dist/session/drivers/FileDriver.js.map +1 -0
  120. package/dist/session/drivers/MemoryDriver.d.ts +10 -2
  121. package/dist/session/drivers/MemoryDriver.d.ts.map +1 -1
  122. package/dist/session/drivers/MemoryDriver.js +70 -0
  123. package/dist/session/drivers/MemoryDriver.js.map +1 -1
  124. package/dist/session/drivers/RedisDriver.d.ts +10 -2
  125. package/dist/session/drivers/RedisDriver.d.ts.map +1 -1
  126. package/dist/session/drivers/RedisDriver.js +58 -0
  127. package/dist/session/drivers/RedisDriver.js.map +1 -1
  128. package/dist/session/templateTags.d.ts +42 -0
  129. package/dist/session/templateTags.d.ts.map +1 -0
  130. package/dist/session/templateTags.js +101 -0
  131. package/dist/session/templateTags.js.map +1 -0
  132. package/dist/testing/RequestBuilder.d.ts +38 -1
  133. package/dist/testing/RequestBuilder.d.ts.map +1 -1
  134. package/dist/testing/RequestBuilder.js +40 -1
  135. package/dist/testing/RequestBuilder.js.map +1 -1
  136. package/dist/testing/TestClient.d.ts +3 -1
  137. package/dist/testing/TestClient.d.ts.map +1 -1
  138. package/dist/testing/TestClient.js +3 -1
  139. package/dist/testing/TestClient.js.map +1 -1
  140. package/dist/types/helpers.d.ts +1 -1
  141. package/dist/types/helpers.d.ts.map +1 -1
  142. package/dist/utils/Macroable.d.ts +14 -5
  143. package/dist/utils/Macroable.d.ts.map +1 -1
  144. package/dist/utils/Macroable.js +20 -18
  145. package/dist/utils/Macroable.js.map +1 -1
  146. package/events.win32-x64-msvc.node +0 -0
  147. package/index.win32-x64-msvc.node +0 -0
  148. package/package.json +1 -1
  149. package/scheduler.win32-x64-msvc.node +0 -0
  150. package/src/Application.ts +39 -0
  151. package/src/ConfigLoader.ts +6 -0
  152. package/src/ErrorBoundary.ts +13 -1
  153. package/src/HttpKernel.ts +45 -19
  154. package/src/Ignitor.ts +39 -0
  155. package/src/bodyparser/BodyParserMiddleware.ts +66 -44
  156. package/src/bodyparser/qsParse.ts +179 -0
  157. package/src/bootstrap/hyper-server.ts +2 -9
  158. package/src/container/Container.ts +265 -25
  159. package/src/container/ContainerResolver.ts +84 -0
  160. package/src/container/ContextualBindingsBuilder.ts +41 -0
  161. package/src/container/types.ts +11 -7
  162. package/src/decorators/Service.ts +16 -3
  163. package/src/events/Emitter.ts +200 -25
  164. package/src/graphql/GraphQLEngine.ts +7 -8
  165. package/src/helpers/duration.ts +71 -0
  166. package/src/helpers/napi-loader.ts +19 -3
  167. package/src/helpers/types.ts +4 -1
  168. package/src/http/Exception.ts +17 -5
  169. package/src/http/HttpContext.ts +28 -5
  170. package/src/http/RedirectBuilder.ts +126 -11
  171. package/src/http/Request.ts +303 -13
  172. package/src/http/Response.ts +213 -6
  173. package/src/index.ts +17 -3
  174. package/src/router/Router.ts +98 -33
  175. package/src/security/CookieSigner.ts +102 -10
  176. package/src/server/Server.ts +36 -16
  177. package/src/session/ReadOnlyValuesStore.ts +52 -0
  178. package/src/session/Session.ts +364 -37
  179. package/src/session/SessionMiddleware.ts +93 -30
  180. package/src/session/drivers/DatabaseDriver.ts +184 -0
  181. package/src/session/drivers/FileDriver.ts +82 -0
  182. package/src/session/drivers/MemoryDriver.ts +75 -2
  183. package/src/session/drivers/RedisDriver.ts +77 -2
  184. package/src/session/templateTags.ts +124 -0
  185. package/src/testing/RequestBuilder.ts +76 -0
  186. package/src/testing/TestClient.ts +10 -2
  187. package/src/types/helpers.ts +4 -1
  188. package/src/utils/Macroable.ts +23 -8
  189. package/dist/utils/inflect.d.ts +0 -17
  190. package/dist/utils/inflect.d.ts.map +0 -1
  191. package/dist/utils/inflect.js +0 -32
  192. package/dist/utils/inflect.js.map +0 -1
  193. package/src/utils/inflect.ts +0 -29
@@ -1 +1 @@
1
- {"version":3,"file":"Ignitor.js","sourceRoot":"","sources":["../src/Ignitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Ignitor.js","sourceRoot":"","sources":["../src/Ignitor.ts"],"names":[],"mappings":"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"}
@@ -6,24 +6,31 @@
6
6
  * Configured via config/bodyparser.ts.
7
7
  */
8
8
  import type { HttpContext } from '../http/HttpContext.js';
9
+ import { type QsParseOptions } from './qsParse.js';
9
10
  export interface BodyParserConfig {
10
11
  json?: {
11
- enabled?: boolean;
12
12
  limit?: string;
13
13
  types?: string[];
14
14
  };
15
15
  form?: {
16
- enabled?: boolean;
17
16
  limit?: string;
18
17
  types?: string[];
18
+ /**
19
+ * Turn `''` into `null`. AdonisJS defaults this to `true`, so an empty
20
+ * text input arrives as `null` rather than an empty string — which is what
21
+ * a "nullable" validation rule expects to see.
22
+ */
23
+ convertEmptyStringsToNull?: boolean;
24
+ /** Trim surrounding whitespace. AdonisJS defaults this to `true`. */
25
+ trimWhitespaces?: boolean;
26
+ /** Options for the bracket-notation parser (`depth`, `parameterLimit`). */
27
+ queryString?: QsParseOptions;
19
28
  };
20
29
  raw?: {
21
- enabled?: boolean;
22
30
  limit?: string;
23
31
  types?: string[];
24
32
  };
25
33
  multipart?: {
26
- enabled?: boolean;
27
34
  /** Total multipart body size cap (sum of all file sizes). Default: '20mb'. */
28
35
  limit?: string;
29
36
  /** Maximum number of files per request. Default: 20. */
@@ -1 +1 @@
1
- {"version":3,"file":"BodyParserMiddleware.d.ts","sourceRoot":"","sources":["../../src/bodyparser/BodyParserMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAIzD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;IACD,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;IACD,GAAG,CAAC,EAAE;QACJ,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;IACD,SAAS,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,8EAA8E;QAC9E,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,wDAAwD;QACxD,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;CACF;AAmCD,MAAM,CAAC,OAAO,OAAO,oBAAoB;;gBAG3B,MAAM,CAAC,EAAE,gBAAgB;IAS/B,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;CA4FzD"}
1
+ {"version":3,"file":"BodyParserMiddleware.d.ts","sourceRoot":"","sources":["../../src/bodyparser/BodyParserMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGzD,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;IACD,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;QAChB;;;;WAIG;QACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;QACnC,qEAAqE;QACrE,eAAe,CAAC,EAAE,OAAO,CAAA;QACzB,2EAA2E;QAC3E,WAAW,CAAC,EAAE,cAAc,CAAA;KAC7B,CAAA;IACD,GAAG,CAAC,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;IACD,SAAS,CAAC,EAAE;QACV,8EAA8E;QAC9E,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,wDAAwD;QACxD,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;CACF;AAqCD,MAAM,CAAC,OAAO,OAAO,oBAAoB;;gBAG3B,MAAM,CAAC,EAAE,gBAAgB;IAU/B,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;CAkGzD"}
@@ -7,24 +7,27 @@
7
7
  */
8
8
  import { hydrateMultipartPayload } from './MultipartFile.js';
9
9
  import { parseSize } from './parseSize.js';
10
+ import { parseQueryString } from './qsParse.js';
10
11
  const DEFAULT_CONFIG = {
11
12
  json: {
12
- enabled: true,
13
13
  limit: '1mb',
14
14
  types: ['application/json', 'application/vnd.api+json'],
15
15
  },
16
16
  form: {
17
- enabled: true,
18
17
  limit: '1mb',
19
18
  types: ['application/x-www-form-urlencoded'],
19
+ // AdonisJS ships both as `true` (define_config: form.convertEmptyStringsToNull
20
+ // / trimWhitespaces), so a migrated form behaves the same here.
21
+ convertEmptyStringsToNull: true,
22
+ trimWhitespaces: true,
23
+ queryString: {},
20
24
  },
21
25
  raw: {
22
- enabled: false,
26
+ // AdonisJS parses `text/*` out of the box (define_config: raw.types).
23
27
  limit: '1mb',
24
- types: ['text/plain'],
28
+ types: ['text/*'],
25
29
  },
26
30
  multipart: {
27
- enabled: true,
28
31
  limit: '20mb',
29
32
  maxFiles: 20,
30
33
  maxFields: 500,
@@ -35,6 +38,7 @@ const DEFAULT_CONFIG = {
35
38
  export default class BodyParserMiddleware {
36
39
  #config;
37
40
  constructor(config) {
41
+ assertNoEnabledFlag(config);
38
42
  this.#config = {
39
43
  json: { ...DEFAULT_CONFIG.json, ...config?.json },
40
44
  form: { ...DEFAULT_CONFIG.form, ...config?.form },
@@ -53,23 +57,27 @@ export default class BodyParserMiddleware {
53
57
  return;
54
58
  }
55
59
  // JSON
56
- if (this.#config.json.enabled && matchesType(contentType, this.#config.json.types)) {
57
- // Request already lazy-parses JSON — nothing to do
60
+ if (matchesType(contentType, this.#config.json.types)) {
61
+ // `Request` lazy-parses JSON on first read; nothing to do here.
58
62
  }
59
63
  // Form URL-encoded
60
- if (this.#config.form.enabled && matchesType(contentType, this.#config.form.types)) {
61
- ctx.request.setParsedBody(parseFormUrlEncoded(rawBody));
64
+ if (matchesType(contentType, this.#config.form.types)) {
65
+ ctx.request.setParsedBody(parseQueryString(rawBody, {
66
+ ...this.#config.form.queryString,
67
+ convertEmptyStringsToNull: this.#config.form.convertEmptyStringsToNull,
68
+ trimWhitespaces: this.#config.form.trimWhitespaces,
69
+ }));
62
70
  }
63
71
  // Raw text — wrap the string under `_body` so consumers can still
64
72
  // reach it through `request.input('_body')`. This matches the fallback
65
73
  // shape used by `Request.#ensureParsedBody` when JSON yields a non-object.
66
- if (this.#config.raw.enabled && matchesType(contentType, this.#config.raw.types)) {
74
+ if (matchesType(contentType, this.#config.raw.types)) {
67
75
  ctx.request.setParsedBody({ _body: rawBody });
68
76
  }
69
77
  // Multipart — the Rust-side HyperServer parses the body server-side
70
78
  // (multer crate) and ships the structured payload on `request.multipart`.
71
79
  // JS just hydrates `MultipartFile` instances from the typed envelope.
72
- if (this.#config.multipart.enabled && matchesType(contentType, this.#config.multipart.types)) {
80
+ if (matchesType(contentType, this.#config.multipart.types)) {
73
81
  const payload = ctx.request.multipart();
74
82
  if (payload) {
75
83
  if (this.#rejectMultipart(ctx, payload.files, payload.fields))
@@ -123,41 +131,45 @@ export default class BodyParserMiddleware {
123
131
  return false;
124
132
  }
125
133
  }
134
+ /**
135
+ * Whether a request's content-type is claimed by one of `types`.
136
+ *
137
+ * AdonisJS configures wildcards (`raw.types` defaults to `text/*`), so a bare
138
+ * substring test would never match `text/plain` against `text/*`. Parameters
139
+ * are stripped first: `application/json; charset=utf-8` is a JSON body.
140
+ */
126
141
  function matchesType(contentType, types) {
127
- return types.some((t) => contentType.includes(t));
128
- }
129
- function parseFormUrlEncoded(body) {
130
- const result = {};
131
- if (!body)
132
- return result;
133
- for (const pair of body.split('&')) {
134
- if (!pair)
135
- continue;
136
- const eqIdx = pair.indexOf('=');
137
- if (eqIdx === -1) {
138
- result[decodeFormComponent(pair)] = '';
139
- }
140
- else {
141
- result[decodeFormComponent(pair.slice(0, eqIdx))] = decodeFormComponent(pair.slice(eqIdx + 1));
142
+ const actual = (contentType.split(';')[0] ?? '').trim().toLowerCase();
143
+ if (!actual)
144
+ return false;
145
+ return types.some((candidate) => {
146
+ const pattern = candidate.trim().toLowerCase();
147
+ if (pattern === '*/*')
148
+ return true;
149
+ if (pattern.endsWith('/*')) {
150
+ return actual.startsWith(`${pattern.slice(0, -1)}`);
142
151
  }
143
- }
144
- return result;
152
+ return actual === pattern;
153
+ });
145
154
  }
146
- // `application/x-www-form-urlencoded` reserves `+` for space (RFC 1866 / WHATWG
147
- // URL form spec), so the substitution must happen before percent-decoding —
148
- // otherwise a literal `+` (encoded as `%2B`) would be turned into a space too.
149
- //
150
- // Malformed percent-encoding (e.g. a truncated `a=%E0%A4%A`) makes
151
- // decodeURIComponent throw URIError; mirror Request.ts#safeDecode and fall back
152
- // to the substituted-but-undecoded value so an invalid body is a parse miss,
153
- // not a 500.
154
- function decodeFormComponent(value) {
155
- const spaced = value.replace(/\+/g, ' ');
156
- try {
157
- return decodeURIComponent(spaced);
158
- }
159
- catch {
160
- return spaced;
155
+ /**
156
+ * `enabled` was an atlas-era invention: AdonisJS has no such flag, and a parser
157
+ * is turned off by giving it no `types`. It also never worked for JSON, which
158
+ * `Request` lazy-parses on first read regardless.
159
+ *
160
+ * Silently ignoring a config key that used to mean something would re-enable a
161
+ * parser an app deliberately switched off, so it fails loudly with the
162
+ * replacement spelled out.
163
+ */
164
+ function assertNoEnabledFlag(config) {
165
+ if (!config)
166
+ return;
167
+ for (const section of ['json', 'form', 'raw', 'multipart']) {
168
+ const value = config[section];
169
+ if (value !== null && typeof value === 'object' && 'enabled' in value) {
170
+ throw new Error(`[E_BODYPARSER_CONFIG] \`${section}.enabled\` is no longer supported — AdonisJS has no such option. ` +
171
+ `To disable this parser, give it no types: \`${section}: { types: [] }\`.`);
172
+ }
161
173
  }
162
174
  }
163
175
  //# sourceMappingURL=BodyParserMiddleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BodyParserMiddleware.js","sourceRoot":"","sources":["../../src/bodyparser/BodyParserMiddleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BodyParserMiddleware.js","sourceRoot":"","sources":["../../src/bodyparser/BodyParserMiddleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Bracket-notation form parsing — what AdonisJS gets from `qs`.
3
+ *
4
+ * `@adonisjs/bodyparser` runs `qs.parse(body, options.qs)` on every
5
+ * `application/x-www-form-urlencoded` body, so `user[name]=ada` arrives as
6
+ * `{ user: { name: 'ada' } }` and a repeated `tags[]` becomes an array. Parsing
7
+ * flat instead does not merely lose the nesting: a repeated key OVERWRITES,
8
+ * so a multi-select or a checkbox group silently submits only its last value.
9
+ *
10
+ * Reimplemented rather than depending on `qs` — this package ships no runtime
11
+ * dependency it can write in a screenful, and the limits below are easier to
12
+ * defend when they are visible.
13
+ *
14
+ * Three guards, all of which `qs` also applies:
15
+ *
16
+ * - **Prototype keys are dropped.** `__proto__[x]=1` in a form body is the
17
+ * classic prototype-pollution vector; the key never reaches an object.
18
+ * - **Depth is capped** (`qs` defaults to 5). Beyond it the remainder is kept
19
+ * as a literal key rather than allocating unbounded nesting.
20
+ * - **Parameter count is capped** (`qs` defaults to 1000), so a body of a
21
+ * million `a[0]`, `a[1]`… cannot be turned into a million-entry object.
22
+ */
23
+ /** `qs` defaults, reproduced so the behaviour is the same out of the box. */
24
+ export declare const DEFAULT_DEPTH = 5;
25
+ export declare const DEFAULT_PARAMETER_LIMIT = 1000;
26
+ export interface QsParseOptions {
27
+ /**
28
+ * Treat `user.name` as `user[name]`. AdonisJS forces this ON for form
29
+ * bodies (`queryStringOptions.allowDots ??= true`), so a dotted field name
30
+ * nests there and must nest here.
31
+ */
32
+ allowDots?: boolean;
33
+ depth?: number;
34
+ parameterLimit?: number;
35
+ /** Turn `''` into `null`, as AdonisJS' `convertEmptyStringsToNull` does. */
36
+ convertEmptyStringsToNull?: boolean;
37
+ /** Trim surrounding whitespace, as AdonisJS' `trimWhitespaces` does. */
38
+ trimWhitespaces?: boolean;
39
+ }
40
+ /**
41
+ * `application/x-www-form-urlencoded` reserves `+` for space (RFC 1866 /
42
+ * WHATWG URL form spec), so the substitution happens BEFORE percent-decoding —
43
+ * otherwise a literal `+` (sent as `%2B`) would become a space too.
44
+ *
45
+ * Malformed percent-encoding makes `decodeURIComponent` throw; the
46
+ * substituted-but-undecoded value is kept so a bad body is a parse miss, not
47
+ * a 500.
48
+ */
49
+ export declare function decodeFormComponent(value: string): string;
50
+ /** Parse a urlencoded body into a nested object. */
51
+ export declare function parseQueryString(body: string, options?: QsParseOptions): Record<string, unknown>;
52
+ //# sourceMappingURL=qsParse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qsParse.d.ts","sourceRoot":"","sources":["../../src/bodyparser/qsParse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,eAAO,MAAM,uBAAuB,OAAO,CAAA;AAE3C,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4EAA4E;IAC5E,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,wEAAwE;IACxE,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AA4FD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOzD;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwBzB"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Bracket-notation form parsing — what AdonisJS gets from `qs`.
3
+ *
4
+ * `@adonisjs/bodyparser` runs `qs.parse(body, options.qs)` on every
5
+ * `application/x-www-form-urlencoded` body, so `user[name]=ada` arrives as
6
+ * `{ user: { name: 'ada' } }` and a repeated `tags[]` becomes an array. Parsing
7
+ * flat instead does not merely lose the nesting: a repeated key OVERWRITES,
8
+ * so a multi-select or a checkbox group silently submits only its last value.
9
+ *
10
+ * Reimplemented rather than depending on `qs` — this package ships no runtime
11
+ * dependency it can write in a screenful, and the limits below are easier to
12
+ * defend when they are visible.
13
+ *
14
+ * Three guards, all of which `qs` also applies:
15
+ *
16
+ * - **Prototype keys are dropped.** `__proto__[x]=1` in a form body is the
17
+ * classic prototype-pollution vector; the key never reaches an object.
18
+ * - **Depth is capped** (`qs` defaults to 5). Beyond it the remainder is kept
19
+ * as a literal key rather than allocating unbounded nesting.
20
+ * - **Parameter count is capped** (`qs` defaults to 1000), so a body of a
21
+ * million `a[0]`, `a[1]`… cannot be turned into a million-entry object.
22
+ */
23
+ /** `qs` defaults, reproduced so the behaviour is the same out of the box. */
24
+ export const DEFAULT_DEPTH = 5;
25
+ export const DEFAULT_PARAMETER_LIMIT = 1000;
26
+ /** Keys that must never be written onto an object. */
27
+ const FORBIDDEN_KEYS = new Set(['__proto__', 'constructor', 'prototype']);
28
+ /**
29
+ * Split `user[address][city]` into `['user', 'address', 'city']`, and
30
+ * `tags[]` into `['tags', '']` — an empty segment meaning "append".
31
+ * Segments past `depth` are folded back into one literal key, which is what
32
+ * `qs` does rather than erroring.
33
+ */
34
+ function splitKey(key, depth, allowDots) {
35
+ // `user.name` → `user[name]` before anything else, so both spellings take
36
+ // the same path. AdonisJS forces allowDots on for form bodies.
37
+ const key2 = allowDots && !key.startsWith('.') ? key.replace(/\.([^.[\]]+)/g, '[$1]') : key;
38
+ const firstBracket = key2.indexOf('[');
39
+ if (firstBracket === -1)
40
+ return [key2];
41
+ const root = key2.slice(0, firstBracket);
42
+ const segments = [root];
43
+ let rest = key2.slice(firstBracket);
44
+ while (segments.length <= depth) {
45
+ const match = /^\[([^\]]*)\]/.exec(rest);
46
+ if (!match)
47
+ break;
48
+ segments.push(match[1] ?? '');
49
+ rest = rest.slice(match[0].length);
50
+ if (rest.length === 0)
51
+ return segments;
52
+ }
53
+ // Anything left over (too deep, or malformed) stays literal on the last
54
+ // segment — no value is dropped, it is just not nested any further.
55
+ if (rest.length > 0) {
56
+ segments[segments.length - 1] = `${segments[segments.length - 1] ?? ''}${rest}`;
57
+ }
58
+ return segments;
59
+ }
60
+ function isIndex(segment) {
61
+ return /^\d+$/.test(segment);
62
+ }
63
+ /** Assign `value` at `segments` inside `target`, creating containers as needed. */
64
+ function assign(target, segments, value) {
65
+ let cursor = target;
66
+ for (let i = 0; i < segments.length; i++) {
67
+ const segment = segments[i] ?? '';
68
+ const last = i === segments.length - 1;
69
+ if (FORBIDDEN_KEYS.has(segment))
70
+ return;
71
+ if (last) {
72
+ if (segment === '') {
73
+ // `tags[]` — append.
74
+ if (Array.isArray(cursor))
75
+ cursor.push(value);
76
+ return;
77
+ }
78
+ if (Array.isArray(cursor)) {
79
+ if (isIndex(segment))
80
+ cursor[Number(segment)] = value;
81
+ return;
82
+ }
83
+ const existing = cursor[segment];
84
+ if (existing === undefined) {
85
+ cursor[segment] = value;
86
+ return;
87
+ }
88
+ // A key repeated WITHOUT brackets collects too, as `qs` does — losing
89
+ // the earlier value is the bug this whole file exists to fix.
90
+ if (Array.isArray(existing))
91
+ existing.push(value);
92
+ else
93
+ cursor[segment] = [existing, value];
94
+ return;
95
+ }
96
+ const nextSegment = segments[i + 1] ?? '';
97
+ const wantsArray = nextSegment === '' || isIndex(nextSegment);
98
+ if (Array.isArray(cursor)) {
99
+ if (!isIndex(segment))
100
+ return;
101
+ const index = Number(segment);
102
+ const existing = cursor[index];
103
+ if (existing === undefined || typeof existing !== 'object' || existing === null) {
104
+ cursor[index] = wantsArray ? [] : {};
105
+ }
106
+ cursor = cursor[index];
107
+ continue;
108
+ }
109
+ const existing = cursor[segment];
110
+ if (existing === undefined || typeof existing !== 'object' || existing === null) {
111
+ cursor[segment] = wantsArray ? [] : {};
112
+ }
113
+ cursor = cursor[segment];
114
+ }
115
+ }
116
+ /**
117
+ * `application/x-www-form-urlencoded` reserves `+` for space (RFC 1866 /
118
+ * WHATWG URL form spec), so the substitution happens BEFORE percent-decoding —
119
+ * otherwise a literal `+` (sent as `%2B`) would become a space too.
120
+ *
121
+ * Malformed percent-encoding makes `decodeURIComponent` throw; the
122
+ * substituted-but-undecoded value is kept so a bad body is a parse miss, not
123
+ * a 500.
124
+ */
125
+ export function decodeFormComponent(value) {
126
+ const spaced = value.replace(/\+/g, ' ');
127
+ try {
128
+ return decodeURIComponent(spaced);
129
+ }
130
+ catch {
131
+ return spaced;
132
+ }
133
+ }
134
+ /** Parse a urlencoded body into a nested object. */
135
+ export function parseQueryString(body, options = {}) {
136
+ const depth = options.depth ?? DEFAULT_DEPTH;
137
+ const parameterLimit = options.parameterLimit ?? DEFAULT_PARAMETER_LIMIT;
138
+ const result = {};
139
+ if (!body)
140
+ return result;
141
+ const pairs = body.split('&');
142
+ let seen = 0;
143
+ for (const pair of pairs) {
144
+ if (!pair)
145
+ continue;
146
+ if (++seen > parameterLimit)
147
+ break;
148
+ const eqIdx = pair.indexOf('=');
149
+ const rawKey = eqIdx === -1 ? pair : pair.slice(0, eqIdx);
150
+ const rawValue = eqIdx === -1 ? '' : pair.slice(eqIdx + 1);
151
+ const key = decodeFormComponent(rawKey);
152
+ let value = decodeFormComponent(rawValue);
153
+ if (options.trimWhitespaces && typeof value === 'string')
154
+ value = value.trim();
155
+ if (options.convertEmptyStringsToNull && value === '')
156
+ value = null;
157
+ assign(result, splitKey(key, depth, options.allowDots ?? true), value);
158
+ }
159
+ return result;
160
+ }
161
+ //# sourceMappingURL=qsParse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qsParse.js","sourceRoot":"","sources":["../../src/bodyparser/qsParse.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hyper-server.d.ts","sourceRoot":"","sources":["../../src/bootstrap/hyper-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AA2BpD;;;;GAIG;AACH,wBAAgB,wBAAwB,IACpC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC,GAClD,SAAS,CAqBZ"}
1
+ {"version":3,"file":"hyper-server.d.ts","sourceRoot":"","sources":["../../src/bootstrap/hyper-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAmBpD;;;;GAIG;AACH,wBAAgB,wBAAwB,IACpC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC,GAClD,SAAS,CAqBZ"}
@@ -21,13 +21,7 @@ import { createRequire } from 'node:module';
21
21
  import { dirname, join } from 'node:path';
22
22
  import { arch, platform } from 'node:process';
23
23
  import { fileURLToPath } from 'node:url';
24
- const PLATFORM_SUFFIX = {
25
- 'linux-x64': 'linux-x64-gnu',
26
- 'linux-arm64': 'linux-arm64-gnu',
27
- 'darwin-x64': 'darwin-x64',
28
- 'darwin-arm64': 'darwin-arm64',
29
- 'win32-x64': 'win32-x64-msvc',
30
- };
24
+ import { NAPI_PLATFORM_MAP } from '../helpers/napi-loader.js';
31
25
  function isHyperServerNapi(value) {
32
26
  return (typeof value === 'object' &&
33
27
  value !== null &&
@@ -40,7 +34,7 @@ function isHyperServerNapi(value) {
40
34
  * when no binary is available (unsupported platform / missing build).
41
35
  */
42
36
  export function createHyperServerFactory() {
43
- const suffix = PLATFORM_SUFFIX[`${platform}-${arch}`];
37
+ const suffix = NAPI_PLATFORM_MAP[`${platform}-${arch}`];
44
38
  if (!suffix)
45
39
  return undefined;
46
40
  const require2 = createRequire(import.meta.url);
@@ -1 +1 @@
1
- {"version":3,"file":"hyper-server.js","sourceRoot":"","sources":["../../src/bootstrap/hyper-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,MAAM,eAAe,GAA2B;IAC9C,WAAW,EAAE,eAAe;IAC5B,aAAa,EAAE,iBAAiB;IAChC,YAAY,EAAE,YAAY;IAC1B,cAAc,EAAE,cAAc;IAC9B,WAAW,EAAE,gBAAgB;CAC9B,CAAA;AAUD,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,aAAa,IAAI,KAAK;QACtB,OAAQ,KAAkC,CAAC,WAAW,KAAK,UAAU,CACtE,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB;IAGtC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAA;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAE7B,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACpD,yEAAyE;IACzE,yBAAyB;IACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,MAAM,OAAO,CAAC,CAAA;IAEjE,IAAI,GAAY,CAAA;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAA;IAE7C,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAA;IAC5B,OAAO,CAAC,IAAY,EAAE,IAAa,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAC9D,CAAC"}
1
+ {"version":3,"file":"hyper-server.js","sourceRoot":"","sources":["../../src/bootstrap/hyper-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAW7D,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,aAAa,IAAI,KAAK;QACtB,OAAQ,KAAkC,CAAC,WAAW,KAAK,UAAU,CACtE,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB;IAGtC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAA;IACvD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAE7B,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACpD,yEAAyE;IACzE,yBAAyB;IACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,MAAM,OAAO,CAAC,CAAA;IAEjE,IAAI,GAAY,CAAA;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAA;IAE7C,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAA;IAC5B,OAAO,CAAC,IAAY,EAAE,IAAa,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAC9D,CAAC"}