@bgord/bun 1.20.5 → 1.21.1

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 (666) hide show
  1. package/dist/ab-assignment-composite.strategy.d.ts +4 -2
  2. package/dist/ab-assignment-composite.strategy.d.ts.map +1 -1
  3. package/dist/ab-assignment-composite.strategy.js +5 -2
  4. package/dist/ab-assignment-composite.strategy.js.map +1 -1
  5. package/dist/ab-assignment-cookie.strategy.d.ts +3 -2
  6. package/dist/ab-assignment-cookie.strategy.d.ts.map +1 -1
  7. package/dist/ab-assignment-cookie.strategy.js +5 -3
  8. package/dist/ab-assignment-cookie.strategy.js.map +1 -1
  9. package/dist/ab-assignment-fixed.strategy.d.ts +1 -2
  10. package/dist/ab-assignment-fixed.strategy.d.ts.map +1 -1
  11. package/dist/ab-assignment-fixed.strategy.js +1 -1
  12. package/dist/ab-assignment-fixed.strategy.js.map +1 -1
  13. package/dist/ab-assignment-hash.strategy.d.ts +1 -1
  14. package/dist/ab-assignment-hash.strategy.d.ts.map +1 -1
  15. package/dist/ab-assignment-hash.strategy.js +1 -1
  16. package/dist/ab-assignment-hash.strategy.js.map +1 -1
  17. package/dist/ab-assignment-header.strategy.d.ts +3 -2
  18. package/dist/ab-assignment-header.strategy.d.ts.map +1 -1
  19. package/dist/ab-assignment-header.strategy.js +5 -3
  20. package/dist/ab-assignment-header.strategy.js.map +1 -1
  21. package/dist/ab-assignment-query.strategy.d.ts +3 -2
  22. package/dist/ab-assignment-query.strategy.d.ts.map +1 -1
  23. package/dist/ab-assignment-query.strategy.js +5 -3
  24. package/dist/ab-assignment-query.strategy.js.map +1 -1
  25. package/dist/ab-assignment.strategy.d.ts +1 -2
  26. package/dist/ab-assignment.strategy.d.ts.map +1 -1
  27. package/dist/ab-hono-noop.middleware.d.ts +4 -1
  28. package/dist/ab-hono-noop.middleware.d.ts.map +1 -1
  29. package/dist/ab-hono-noop.middleware.js.map +1 -1
  30. package/dist/ab-hono.middleware.d.ts +4 -3
  31. package/dist/ab-hono.middleware.d.ts.map +1 -1
  32. package/dist/ab-hono.middleware.js +7 -4
  33. package/dist/ab-hono.middleware.js.map +1 -1
  34. package/dist/ab.middleware.d.ts +1 -3
  35. package/dist/ab.middleware.d.ts.map +1 -1
  36. package/dist/ab.middleware.js +2 -4
  37. package/dist/ab.middleware.js.map +1 -1
  38. package/dist/alert-channel-composite.adapter.d.ts +1 -0
  39. package/dist/alert-channel-composite.adapter.d.ts.map +1 -1
  40. package/dist/alert-channel-composite.adapter.js +6 -1
  41. package/dist/alert-channel-composite.adapter.js.map +1 -1
  42. package/dist/alert-channel-with-logger.adapter.js +1 -1
  43. package/dist/alert-channel-with-logger.adapter.js.map +1 -1
  44. package/dist/antivirus-clamav.adapter.d.ts.map +1 -1
  45. package/dist/antivirus-clamav.adapter.js +3 -4
  46. package/dist/antivirus-clamav.adapter.js.map +1 -1
  47. package/dist/antivirus-with-logger.adapter.js +2 -2
  48. package/dist/antivirus-with-logger.adapter.js.map +1 -1
  49. package/dist/api-version-hono.middleware.d.ts +2 -11
  50. package/dist/api-version-hono.middleware.d.ts.map +1 -1
  51. package/dist/api-version-hono.middleware.js +6 -3
  52. package/dist/api-version-hono.middleware.js.map +1 -1
  53. package/dist/api-version.middleware.d.ts +2 -3
  54. package/dist/api-version.middleware.d.ts.map +1 -1
  55. package/dist/api-version.middleware.js.map +1 -1
  56. package/dist/auth-session-reader-noop.adapter.d.ts +2 -2
  57. package/dist/auth-session-reader-noop.adapter.d.ts.map +1 -1
  58. package/dist/better-auth-logger.service.d.ts.map +1 -1
  59. package/dist/better-auth-logger.service.js +6 -0
  60. package/dist/better-auth-logger.service.js.map +1 -1
  61. package/dist/cache-file.service.d.ts.map +1 -1
  62. package/dist/cache-file.service.js +4 -2
  63. package/dist/cache-file.service.js.map +1 -1
  64. package/dist/cache-repository-node-cache.adapter.d.ts.map +1 -1
  65. package/dist/cache-repository-node-cache.adapter.js +4 -1
  66. package/dist/cache-repository-node-cache.adapter.js.map +1 -1
  67. package/dist/cache-response-hono.middleware.d.ts +2 -7
  68. package/dist/cache-response-hono.middleware.d.ts.map +1 -1
  69. package/dist/cache-response-hono.middleware.js +1 -1
  70. package/dist/cache-response-hono.middleware.js.map +1 -1
  71. package/dist/cache-response.middleware.d.ts +3 -4
  72. package/dist/cache-response.middleware.d.ts.map +1 -1
  73. package/dist/cache-response.middleware.js.map +1 -1
  74. package/dist/certificate-inspector-tls.adapter.d.ts.map +1 -1
  75. package/dist/certificate-inspector-tls.adapter.js +19 -16
  76. package/dist/certificate-inspector-tls.adapter.js.map +1 -1
  77. package/dist/correlation-hono.middleware.d.ts +5 -7
  78. package/dist/correlation-hono.middleware.d.ts.map +1 -1
  79. package/dist/correlation-hono.middleware.js +4 -2
  80. package/dist/correlation-hono.middleware.js.map +1 -1
  81. package/dist/correlation.middleware.d.ts +2 -3
  82. package/dist/correlation.middleware.d.ts.map +1 -1
  83. package/dist/correlation.middleware.js.map +1 -1
  84. package/dist/cron-scheduler.adapter.d.ts +1 -0
  85. package/dist/cron-scheduler.adapter.d.ts.map +1 -1
  86. package/dist/cron-scheduler.adapter.js +3 -2
  87. package/dist/cron-scheduler.adapter.js.map +1 -1
  88. package/dist/cron-task-handler-with-logger.strategy.js +7 -7
  89. package/dist/cron-task-handler-with-logger.strategy.js.map +1 -1
  90. package/dist/csv-stringifier.adapter.d.ts +1 -1
  91. package/dist/csv-stringifier.adapter.d.ts.map +1 -1
  92. package/dist/csv-stringifier.adapter.js +1 -1
  93. package/dist/csv-stringifier.adapter.js.map +1 -1
  94. package/dist/{disk-space-checker-shell.adapter.d.ts → disk-space-checker-fs.adapter.d.ts} +2 -2
  95. package/dist/disk-space-checker-fs.adapter.d.ts.map +1 -0
  96. package/dist/disk-space-checker-fs.adapter.js +10 -0
  97. package/dist/disk-space-checker-fs.adapter.js.map +1 -0
  98. package/dist/dynamic-import.service.js +2 -2
  99. package/dist/dynamic-import.service.js.map +1 -1
  100. package/dist/environment-loader-process-safe.adapter.d.ts.map +1 -1
  101. package/dist/environment-loader-process-safe.adapter.js +3 -1
  102. package/dist/environment-loader-process-safe.adapter.js.map +1 -1
  103. package/dist/environment-loader.port.d.ts +1 -1
  104. package/dist/environment-loader.port.d.ts.map +1 -1
  105. package/dist/etag-extractor-header.strategy.d.ts.map +1 -1
  106. package/dist/etag-extractor-header.strategy.js +2 -0
  107. package/dist/etag-extractor-header.strategy.js.map +1 -1
  108. package/dist/etag-extractor-hono.middleware.d.ts +3 -1
  109. package/dist/etag-extractor-hono.middleware.d.ts.map +1 -1
  110. package/dist/etag-extractor-param.strategy.d.ts.map +1 -1
  111. package/dist/etag-extractor-param.strategy.js +2 -0
  112. package/dist/etag-extractor-param.strategy.js.map +1 -1
  113. package/dist/etag-extractor.strategy.d.ts +2 -2
  114. package/dist/etag-extractor.strategy.d.ts.map +1 -1
  115. package/dist/file-inspection.adapter.js +4 -4
  116. package/dist/file-inspection.adapter.js.map +1 -1
  117. package/dist/file-reader-json-forgiving.adapter.js +1 -1
  118. package/dist/file-reader-json-forgiving.adapter.js.map +1 -1
  119. package/dist/graceful-shutdown.service.d.ts.map +1 -1
  120. package/dist/graceful-shutdown.service.js +3 -3
  121. package/dist/graceful-shutdown.service.js.map +1 -1
  122. package/dist/hash.vo.js +1 -1
  123. package/dist/hash.vo.js.map +1 -1
  124. package/dist/hcaptcha.service.d.ts +1 -2
  125. package/dist/hcaptcha.service.d.ts.map +1 -1
  126. package/dist/hcaptcha.service.js +1 -1
  127. package/dist/hcaptcha.service.js.map +1 -1
  128. package/dist/http-logger-hono.middleware.d.ts +2 -9
  129. package/dist/http-logger-hono.middleware.d.ts.map +1 -1
  130. package/dist/http-logger-hono.middleware.js +1 -1
  131. package/dist/http-logger-hono.middleware.js.map +1 -1
  132. package/dist/http-logger.middleware.d.ts +2 -3
  133. package/dist/http-logger.middleware.d.ts.map +1 -1
  134. package/dist/http-logger.middleware.js.map +1 -1
  135. package/dist/image-blur-noop.adapter.js +1 -1
  136. package/dist/image-blur-noop.adapter.js.map +1 -1
  137. package/dist/image-blur.adapter.d.ts.map +1 -1
  138. package/dist/image-blur.adapter.js +2 -4
  139. package/dist/image-blur.adapter.js.map +1 -1
  140. package/dist/image-blur.port.d.ts +1 -8
  141. package/dist/image-blur.port.d.ts.map +1 -1
  142. package/dist/in-flight-requests-hono.middleware.d.ts.map +1 -1
  143. package/dist/in-flight-requests-hono.middleware.js +1 -0
  144. package/dist/in-flight-requests-hono.middleware.js.map +1 -1
  145. package/dist/in-flight-requests-tracker.service.js +2 -2
  146. package/dist/in-flight-requests-tracker.service.js.map +1 -1
  147. package/dist/index.d.ts +4 -3
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +4 -3
  150. package/dist/index.js.map +1 -1
  151. package/dist/instrumentation.service.d.ts.map +1 -1
  152. package/dist/instrumentation.service.js +5 -2
  153. package/dist/instrumentation.service.js.map +1 -1
  154. package/dist/job-queue-sqlite-store.service.d.ts.map +1 -1
  155. package/dist/job-queue-sqlite-store.service.js +1 -0
  156. package/dist/job-queue-sqlite-store.service.js.map +1 -1
  157. package/dist/job-queue-with-logger.adapter.d.ts +1 -1
  158. package/dist/job-queue-with-logger.adapter.d.ts.map +1 -1
  159. package/dist/job-queue-with-logger.adapter.js +2 -2
  160. package/dist/job-queue-with-logger.adapter.js.map +1 -1
  161. package/dist/language-detector-cookie.strategy.js +1 -1
  162. package/dist/language-detector-cookie.strategy.js.map +1 -1
  163. package/dist/language-detector-header.strategy.d.ts.map +1 -1
  164. package/dist/language-detector-header.strategy.js +12 -1
  165. package/dist/language-detector-header.strategy.js.map +1 -1
  166. package/dist/language-detector-hono.middleware.d.ts +3 -1
  167. package/dist/language-detector-hono.middleware.d.ts.map +1 -1
  168. package/dist/language-detector-query.strategy.js +1 -1
  169. package/dist/language-detector-query.strategy.js.map +1 -1
  170. package/dist/language-detector.middleware.d.ts +2 -2
  171. package/dist/language-detector.middleware.d.ts.map +1 -1
  172. package/dist/language-detector.middleware.js.map +1 -1
  173. package/dist/language-detector.strategy.d.ts +2 -2
  174. package/dist/language-detector.strategy.d.ts.map +1 -1
  175. package/dist/liveness-hono.handler.d.ts.map +1 -1
  176. package/dist/liveness-hono.handler.js +4 -1
  177. package/dist/liveness-hono.handler.js.map +1 -1
  178. package/dist/liveness.handler.d.ts +1 -0
  179. package/dist/liveness.handler.d.ts.map +1 -1
  180. package/dist/liveness.handler.js +1 -1
  181. package/dist/liveness.handler.js.map +1 -1
  182. package/dist/mailer-content-html.vo.d.ts +1 -5
  183. package/dist/mailer-content-html.vo.d.ts.map +1 -1
  184. package/dist/mailer-content-html.vo.js +1 -1
  185. package/dist/mailer-content-html.vo.js.map +1 -1
  186. package/dist/mailer-smtp.adapter.d.ts.map +1 -1
  187. package/dist/mailer-smtp.adapter.js +1 -0
  188. package/dist/mailer-smtp.adapter.js.map +1 -1
  189. package/dist/mailer-with-logger.adapter.js +2 -2
  190. package/dist/mailer-with-logger.adapter.js.map +1 -1
  191. package/dist/markdown-generator.adapter.js +1 -1
  192. package/dist/markdown-generator.adapter.js.map +1 -1
  193. package/dist/memory-consumption.service.d.ts +0 -1
  194. package/dist/memory-consumption.service.d.ts.map +1 -1
  195. package/dist/memory-consumption.service.js +0 -3
  196. package/dist/memory-consumption.service.js.map +1 -1
  197. package/dist/modules/system/jobs/SEND_EMAIL_JOB.d.ts +1 -1
  198. package/dist/nonce-provider-crypto.adapter.js +1 -1
  199. package/dist/nonce-provider-crypto.adapter.js.map +1 -1
  200. package/dist/nonce-provider-noop.adapter.js +1 -1
  201. package/dist/nonce-provider-noop.adapter.js.map +1 -1
  202. package/dist/nonce-value.vo.js +2 -2
  203. package/dist/pdf-generator-with-logger.adapter.js +1 -1
  204. package/dist/pdf-generator-with-logger.adapter.js.map +1 -1
  205. package/dist/prerequisite-verifier-memory.adapter.js +1 -1
  206. package/dist/prerequisite-verifier-memory.adapter.js.map +1 -1
  207. package/dist/prerequisite-verifier-translations.adapter.d.ts.map +1 -1
  208. package/dist/prerequisite-verifier-translations.adapter.js +7 -11
  209. package/dist/prerequisite-verifier-translations.adapter.js.map +1 -1
  210. package/dist/prerequisite-verifier-with-logger.adapter.js +1 -1
  211. package/dist/prerequisite-verifier-with-logger.adapter.js.map +1 -1
  212. package/dist/randomness.strategy.d.ts.map +1 -1
  213. package/dist/reactive-config-noop.adapter.d.ts +0 -1
  214. package/dist/reactive-config-noop.adapter.d.ts.map +1 -1
  215. package/dist/reactive-config-noop.adapter.js +2 -4
  216. package/dist/reactive-config-noop.adapter.js.map +1 -1
  217. package/dist/reactive-config-with-cache.adapter.js +1 -1
  218. package/dist/reactive-config-with-cache.adapter.js.map +1 -1
  219. package/dist/reactive-config-with-fallback.adapter.d.ts +0 -1
  220. package/dist/reactive-config-with-fallback.adapter.d.ts.map +1 -1
  221. package/dist/reactive-config-with-fallback.adapter.js +2 -4
  222. package/dist/reactive-config-with-fallback.adapter.js.map +1 -1
  223. package/dist/reactive-config-with-logger.adapter.d.ts +15 -0
  224. package/dist/reactive-config-with-logger.adapter.d.ts.map +1 -0
  225. package/dist/reactive-config-with-logger.adapter.js +38 -0
  226. package/dist/reactive-config-with-logger.adapter.js.map +1 -0
  227. package/dist/readiness-hono.handler.d.ts +4 -7
  228. package/dist/readiness-hono.handler.d.ts.map +1 -1
  229. package/dist/readiness-hono.handler.js +2 -3
  230. package/dist/readiness-hono.handler.js.map +1 -1
  231. package/dist/readiness.handler.d.ts +6 -1
  232. package/dist/readiness.handler.d.ts.map +1 -1
  233. package/dist/readiness.handler.js +11 -1
  234. package/dist/readiness.handler.js.map +1 -1
  235. package/dist/redactor-metadata-compact-array.strategy.d.ts.map +1 -1
  236. package/dist/redactor-metadata-compact-array.strategy.js +2 -0
  237. package/dist/redactor-metadata-compact-array.strategy.js.map +1 -1
  238. package/dist/redactor-metadata-compact-object.strategy.d.ts.map +1 -1
  239. package/dist/redactor-metadata-compact-object.strategy.js +2 -0
  240. package/dist/redactor-metadata-compact-object.strategy.js.map +1 -1
  241. package/dist/redactor-url-query.strategy.d.ts +8 -0
  242. package/dist/redactor-url-query.strategy.d.ts.map +1 -0
  243. package/dist/redactor-url-query.strategy.js +26 -0
  244. package/dist/redactor-url-query.strategy.js.map +1 -0
  245. package/dist/remote-file-storage-disk.adapter.d.ts +2 -0
  246. package/dist/remote-file-storage-disk.adapter.d.ts.map +1 -1
  247. package/dist/remote-file-storage-disk.adapter.js +2 -5
  248. package/dist/remote-file-storage-disk.adapter.js.map +1 -1
  249. package/dist/request-context-hono.adapter.d.ts.map +1 -1
  250. package/dist/request-context-hono.adapter.js +2 -0
  251. package/dist/request-context-hono.adapter.js.map +1 -1
  252. package/dist/request-context.port.d.ts +13 -1
  253. package/dist/request-context.port.d.ts.map +1 -1
  254. package/dist/sealer-aes-gcm.adapter.d.ts +1 -0
  255. package/dist/sealer-aes-gcm.adapter.d.ts.map +1 -1
  256. package/dist/sealer-aes-gcm.adapter.js +6 -1
  257. package/dist/sealer-aes-gcm.adapter.js.map +1 -1
  258. package/dist/secure-key-generator-crypto.adapter.d.ts +1 -0
  259. package/dist/secure-key-generator-crypto.adapter.d.ts.map +1 -1
  260. package/dist/secure-key-generator-crypto.adapter.js +6 -1
  261. package/dist/secure-key-generator-crypto.adapter.js.map +1 -1
  262. package/dist/security-rule-bait-routes.strategy.js +1 -1
  263. package/dist/security-rule-bait-routes.strategy.js.map +1 -1
  264. package/dist/security-rule-honey-pot-field.strategy.d.ts +2 -2
  265. package/dist/security-rule-honey-pot-field.strategy.d.ts.map +1 -1
  266. package/dist/security-rule-honey-pot-field.strategy.js +3 -2
  267. package/dist/security-rule-honey-pot-field.strategy.js.map +1 -1
  268. package/dist/security-rule.strategy.d.ts +2 -4
  269. package/dist/security-rule.strategy.d.ts.map +1 -1
  270. package/dist/semaphore.service.d.ts +3 -1
  271. package/dist/semaphore.service.d.ts.map +1 -1
  272. package/dist/semaphore.service.js +13 -7
  273. package/dist/semaphore.service.js.map +1 -1
  274. package/dist/setup-hono.service.js +1 -1
  275. package/dist/setup-hono.service.js.map +1 -1
  276. package/dist/shield-api-key-hono.strategy.js +1 -1
  277. package/dist/shield-api-key.strategy.d.ts +1 -1
  278. package/dist/shield-api-key.strategy.d.ts.map +1 -1
  279. package/dist/shield-api-key.strategy.js +5 -4
  280. package/dist/shield-api-key.strategy.js.map +1 -1
  281. package/dist/shield-auth.strategy.d.ts +3 -2
  282. package/dist/shield-auth.strategy.d.ts.map +1 -1
  283. package/dist/shield-auth.strategy.js +10 -3
  284. package/dist/shield-auth.strategy.js.map +1 -1
  285. package/dist/shield-basic-auth-hono.strategy.d.ts +1 -0
  286. package/dist/shield-basic-auth-hono.strategy.d.ts.map +1 -1
  287. package/dist/shield-basic-auth-hono.strategy.js +8 -1
  288. package/dist/shield-basic-auth-hono.strategy.js.map +1 -1
  289. package/dist/shield-basic-auth.strategy.d.ts +1 -0
  290. package/dist/shield-basic-auth.strategy.d.ts.map +1 -1
  291. package/dist/shield-basic-auth.strategy.js +11 -3
  292. package/dist/shield-basic-auth.strategy.js.map +1 -1
  293. package/dist/shield-csrf.strategy.js +2 -2
  294. package/dist/shield-csrf.strategy.js.map +1 -1
  295. package/dist/shield-hcaptcha-hono-local.strategy.d.ts.map +1 -1
  296. package/dist/shield-hcaptcha-hono-local.strategy.js +3 -1
  297. package/dist/shield-hcaptcha-hono-local.strategy.js.map +1 -1
  298. package/dist/shield-hcaptcha.strategy.d.ts +2 -2
  299. package/dist/shield-hcaptcha.strategy.d.ts.map +1 -1
  300. package/dist/shield-hcaptcha.strategy.js +7 -2
  301. package/dist/shield-hcaptcha.strategy.js.map +1 -1
  302. package/dist/shield-ip-blacklist.strategy.d.ts +2 -2
  303. package/dist/shield-ip-blacklist.strategy.d.ts.map +1 -1
  304. package/dist/shield-ip-blacklist.strategy.js +2 -2
  305. package/dist/shield-ip-blacklist.strategy.js.map +1 -1
  306. package/dist/shield-ip-whitelist.strategy.d.ts +2 -2
  307. package/dist/shield-ip-whitelist.strategy.d.ts.map +1 -1
  308. package/dist/shield-ip-whitelist.strategy.js +1 -1
  309. package/dist/shield-ip-whitelist.strategy.js.map +1 -1
  310. package/dist/shield-maintenance-hono.strategy.d.ts.map +1 -1
  311. package/dist/shield-maintenance-hono.strategy.js +6 -4
  312. package/dist/shield-maintenance-hono.strategy.js.map +1 -1
  313. package/dist/shield-maintenance.strategy.d.ts +23 -7
  314. package/dist/shield-maintenance.strategy.d.ts.map +1 -1
  315. package/dist/shield-maintenance.strategy.js +23 -4
  316. package/dist/shield-maintenance.strategy.js.map +1 -1
  317. package/dist/shield-rate-limit.strategy.d.ts +1 -1
  318. package/dist/shield-rate-limit.strategy.d.ts.map +1 -1
  319. package/dist/shield-rate-limit.strategy.js +1 -1
  320. package/dist/shield-rate-limit.strategy.js.map +1 -1
  321. package/dist/shield-recaptcha.strategy.d.ts +2 -2
  322. package/dist/shield-recaptcha.strategy.d.ts.map +1 -1
  323. package/dist/shield-recaptcha.strategy.js +11 -7
  324. package/dist/shield-recaptcha.strategy.js.map +1 -1
  325. package/dist/shield-timeout-hono.strategy.js +1 -1
  326. package/dist/shield-webhook-hono.strategy.js +1 -1
  327. package/dist/shield-webhook.strategy.d.ts +2 -2
  328. package/dist/shield-webhook.strategy.d.ts.map +1 -1
  329. package/dist/shield-webhook.strategy.js.map +1 -1
  330. package/dist/simulated-error.middleware.d.ts +3 -0
  331. package/dist/simulated-error.middleware.d.ts.map +1 -1
  332. package/dist/simulated-error.middleware.js +2 -1
  333. package/dist/simulated-error.middleware.js.map +1 -1
  334. package/dist/sitemap-entry.vo.js +1 -1
  335. package/dist/sitemap-priority.vo.d.ts +1 -1
  336. package/dist/sitemap-priority.vo.d.ts.map +1 -1
  337. package/dist/sitemap-priority.vo.js +1 -1
  338. package/dist/sitemap-priority.vo.js.map +1 -1
  339. package/dist/slower-hono.middleware.d.ts +2 -6
  340. package/dist/slower-hono.middleware.d.ts.map +1 -1
  341. package/dist/slower-hono.middleware.js.map +1 -1
  342. package/dist/slower.middleware.d.ts +2 -3
  343. package/dist/slower.middleware.d.ts.map +1 -1
  344. package/dist/slower.middleware.js.map +1 -1
  345. package/dist/sms-with-logger.adapter.js +1 -1
  346. package/dist/sms-with-logger.adapter.js.map +1 -1
  347. package/dist/sse-hono.handler.d.ts.map +1 -1
  348. package/dist/sse-hono.handler.js +4 -2
  349. package/dist/sse-hono.handler.js.map +1 -1
  350. package/dist/sse-registry-collecting.adapter.d.ts +1 -1
  351. package/dist/sse-registry-collecting.adapter.d.ts.map +1 -1
  352. package/dist/sse-registry-collecting.adapter.js +3 -1
  353. package/dist/sse-registry-collecting.adapter.js.map +1 -1
  354. package/dist/sse-registry-noop.adapter.d.ts +1 -1
  355. package/dist/sse-registry-noop.adapter.d.ts.map +1 -1
  356. package/dist/sse-registry-noop.adapter.js +3 -1
  357. package/dist/sse-registry-noop.adapter.js.map +1 -1
  358. package/dist/sse-registry-with-limit.adapter.d.ts +1 -1
  359. package/dist/sse-registry-with-limit.adapter.d.ts.map +1 -1
  360. package/dist/sse-registry-with-limit.adapter.js +2 -2
  361. package/dist/sse-registry-with-limit.adapter.js.map +1 -1
  362. package/dist/sse-registry-with-logger.adapter.d.ts +1 -1
  363. package/dist/sse-registry-with-logger.adapter.d.ts.map +1 -1
  364. package/dist/sse-registry-with-logger.adapter.js +4 -3
  365. package/dist/sse-registry-with-logger.adapter.js.map +1 -1
  366. package/dist/sse-registry.adapter.d.ts +1 -1
  367. package/dist/sse-registry.adapter.d.ts.map +1 -1
  368. package/dist/sse-registry.adapter.js +7 -1
  369. package/dist/sse-registry.adapter.js.map +1 -1
  370. package/dist/sse-registry.port.d.ts +1 -1
  371. package/dist/sse-registry.port.d.ts.map +1 -1
  372. package/dist/ssr-bun.service.js +1 -1
  373. package/dist/ssr-bun.service.js.map +1 -1
  374. package/dist/ssr.service.d.ts +1 -1
  375. package/dist/ssr.service.d.ts.map +1 -1
  376. package/dist/ssr.service.js +1 -1
  377. package/dist/ssr.service.js.map +1 -1
  378. package/dist/standard-schema-validator.service.js +1 -1
  379. package/dist/standard-schema-validator.service.js.map +1 -1
  380. package/dist/static-config.adapter.js +1 -1
  381. package/dist/static-config.adapter.js.map +1 -1
  382. package/dist/static-files-hono.service.d.ts +1 -1
  383. package/dist/static-files-hono.service.js +2 -2
  384. package/dist/static-files-hono.service.js.map +1 -1
  385. package/dist/subject-application-resolver.vo.d.ts +2 -2
  386. package/dist/subject-application-resolver.vo.d.ts.map +1 -1
  387. package/dist/subject-application-resolver.vo.js +1 -1
  388. package/dist/subject-application-resolver.vo.js.map +1 -1
  389. package/dist/subject-request-resolver.vo.d.ts +2 -2
  390. package/dist/subject-request-resolver.vo.d.ts.map +1 -1
  391. package/dist/subject-request-resolver.vo.js +1 -1
  392. package/dist/subject-request-resolver.vo.js.map +1 -1
  393. package/dist/subject-segment-application.strategy.d.ts +1 -0
  394. package/dist/subject-segment-application.strategy.d.ts.map +1 -1
  395. package/dist/subject-segment-application.strategy.js +1 -1
  396. package/dist/subject-segment-application.strategy.js.map +1 -1
  397. package/dist/subject-segment-build.strategy.d.ts +1 -0
  398. package/dist/subject-segment-build.strategy.d.ts.map +1 -1
  399. package/dist/subject-segment-build.strategy.js +1 -0
  400. package/dist/subject-segment-build.strategy.js.map +1 -1
  401. package/dist/subject-segment-cookie.strategy.d.ts +1 -0
  402. package/dist/subject-segment-cookie.strategy.d.ts.map +1 -1
  403. package/dist/subject-segment-cookie.strategy.js +3 -0
  404. package/dist/subject-segment-cookie.strategy.js.map +1 -1
  405. package/dist/subject-segment-env.strategy.d.ts +1 -0
  406. package/dist/subject-segment-env.strategy.d.ts.map +1 -1
  407. package/dist/subject-segment-env.strategy.js +1 -0
  408. package/dist/subject-segment-env.strategy.js.map +1 -1
  409. package/dist/subject-segment-fixed.strategy.d.ts +1 -0
  410. package/dist/subject-segment-fixed.strategy.d.ts.map +1 -1
  411. package/dist/subject-segment-fixed.strategy.js +1 -0
  412. package/dist/subject-segment-fixed.strategy.js.map +1 -1
  413. package/dist/subject-segment-header.strategy.d.ts +1 -0
  414. package/dist/subject-segment-header.strategy.d.ts.map +1 -1
  415. package/dist/subject-segment-header.strategy.js +3 -0
  416. package/dist/subject-segment-header.strategy.js.map +1 -1
  417. package/dist/subject-segment-ip.strategy.d.ts +1 -0
  418. package/dist/subject-segment-ip.strategy.d.ts.map +1 -1
  419. package/dist/subject-segment-ip.strategy.js +1 -0
  420. package/dist/subject-segment-ip.strategy.js.map +1 -1
  421. package/dist/subject-segment-method.strategy.d.ts +7 -0
  422. package/dist/subject-segment-method.strategy.d.ts.map +1 -0
  423. package/dist/subject-segment-method.strategy.js +7 -0
  424. package/dist/subject-segment-method.strategy.js.map +1 -0
  425. package/dist/subject-segment-param.strategy.d.ts +1 -0
  426. package/dist/subject-segment-param.strategy.d.ts.map +1 -1
  427. package/dist/subject-segment-param.strategy.js +3 -0
  428. package/dist/subject-segment-param.strategy.js.map +1 -1
  429. package/dist/subject-segment-path.strategy.d.ts +1 -0
  430. package/dist/subject-segment-path.strategy.d.ts.map +1 -1
  431. package/dist/subject-segment-path.strategy.js +1 -0
  432. package/dist/subject-segment-path.strategy.js.map +1 -1
  433. package/dist/subject-segment-query.strategy.d.ts +3 -2
  434. package/dist/subject-segment-query.strategy.d.ts.map +1 -1
  435. package/dist/subject-segment-query.strategy.js +5 -5
  436. package/dist/subject-segment-query.strategy.js.map +1 -1
  437. package/dist/subject-segment-request.strategy.d.ts +5 -3
  438. package/dist/subject-segment-request.strategy.d.ts.map +1 -1
  439. package/dist/subject-segment-request.strategy.js +1 -1
  440. package/dist/subject-segment-request.strategy.js.map +1 -1
  441. package/dist/subject-segment-user.strategy.d.ts +1 -0
  442. package/dist/subject-segment-user.strategy.d.ts.map +1 -1
  443. package/dist/subject-segment-user.strategy.js +1 -0
  444. package/dist/subject-segment-user.strategy.js.map +1 -1
  445. package/dist/time-zone-offset-hono.middleware.d.ts +3 -1
  446. package/dist/time-zone-offset-hono.middleware.d.ts.map +1 -1
  447. package/dist/time-zone-offset.middleware.d.ts +2 -2
  448. package/dist/time-zone-offset.middleware.d.ts.map +1 -1
  449. package/dist/time-zone-offset.middleware.js +2 -0
  450. package/dist/time-zone-offset.middleware.js.map +1 -1
  451. package/dist/timekeeper-google.adapter.d.ts +1 -1
  452. package/dist/timekeeper-google.adapter.d.ts.map +1 -1
  453. package/dist/timekeeper-google.adapter.js.map +1 -1
  454. package/dist/timing-hono.middleware.d.ts +2 -6
  455. package/dist/timing-hono.middleware.d.ts.map +1 -1
  456. package/dist/timing-hono.middleware.js +1 -1
  457. package/dist/timing-hono.middleware.js.map +1 -1
  458. package/dist/timing.middleware.d.ts +5 -5
  459. package/dist/timing.middleware.d.ts.map +1 -1
  460. package/dist/timing.middleware.js +10 -2
  461. package/dist/timing.middleware.js.map +1 -1
  462. package/dist/trailing-slash-hono.middleware.d.ts +1 -1
  463. package/dist/trailing-slash-hono.middleware.js +2 -2
  464. package/dist/trailing-slash-hono.middleware.js.map +1 -1
  465. package/dist/trailing-slash.middleware.d.ts +2 -0
  466. package/dist/trailing-slash.middleware.d.ts.map +1 -1
  467. package/dist/trailing-slash.middleware.js +6 -1
  468. package/dist/trailing-slash.middleware.js.map +1 -1
  469. package/dist/translations-provider-json.adapter.d.ts +1 -1
  470. package/dist/translations-provider-json.adapter.d.ts.map +1 -1
  471. package/dist/translations-provider-json.adapter.js +2 -6
  472. package/dist/translations-provider-json.adapter.js.map +1 -1
  473. package/dist/translations-provider.port.d.ts +5 -0
  474. package/dist/translations-provider.port.d.ts.map +1 -1
  475. package/dist/translations-provider.port.js +3 -1
  476. package/dist/translations-provider.port.js.map +1 -1
  477. package/dist/weak-etag-extractor-header.strategy.d.ts +1 -0
  478. package/dist/weak-etag-extractor-header.strategy.d.ts.map +1 -1
  479. package/dist/weak-etag-extractor-header.strategy.js +3 -0
  480. package/dist/weak-etag-extractor-header.strategy.js.map +1 -1
  481. package/dist/weak-etag-extractor-hono.middleware.d.ts +3 -1
  482. package/dist/weak-etag-extractor-hono.middleware.d.ts.map +1 -1
  483. package/dist/weak-etag-extractor-param.strategy.d.ts.map +1 -1
  484. package/dist/weak-etag-extractor-param.strategy.js +2 -0
  485. package/dist/weak-etag-extractor-param.strategy.js.map +1 -1
  486. package/dist/weak-etag-extractor.strategy.d.ts +2 -2
  487. package/dist/weak-etag-extractor.strategy.d.ts.map +1 -1
  488. package/dist/webhook-signature-extractor.strategy.d.ts +2 -2
  489. package/dist/webhook-signature-extractor.strategy.d.ts.map +1 -1
  490. package/dist/woodchopper-dispatcher-async.strategy.d.ts +0 -3
  491. package/dist/woodchopper-dispatcher-async.strategy.d.ts.map +1 -1
  492. package/dist/woodchopper-dispatcher-async.strategy.js +7 -6
  493. package/dist/woodchopper-dispatcher-async.strategy.js.map +1 -1
  494. package/package.json +12 -17
  495. package/readme.md +4 -3
  496. package/src/ab-assignment-composite.strategy.ts +7 -4
  497. package/src/ab-assignment-cookie.strategy.ts +6 -3
  498. package/src/ab-assignment-fixed.strategy.ts +1 -2
  499. package/src/ab-assignment-hash.strategy.ts +1 -1
  500. package/src/ab-assignment-header.strategy.ts +6 -3
  501. package/src/ab-assignment-query.strategy.ts +6 -3
  502. package/src/ab-assignment.strategy.ts +1 -2
  503. package/src/ab-hono-noop.middleware.ts +2 -1
  504. package/src/ab-hono.middleware.ts +7 -6
  505. package/src/ab.middleware.ts +2 -6
  506. package/src/alert-channel-composite.adapter.ts +8 -1
  507. package/src/alert-channel-with-logger.adapter.ts +1 -1
  508. package/src/antivirus-clamav.adapter.ts +5 -4
  509. package/src/antivirus-with-logger.adapter.ts +2 -2
  510. package/src/api-version-hono.middleware.ts +7 -15
  511. package/src/api-version.middleware.ts +2 -2
  512. package/src/auth-session-reader-noop.adapter.ts +2 -2
  513. package/src/better-auth-logger.service.ts +5 -0
  514. package/src/cache-file.service.ts +4 -2
  515. package/src/cache-repository-node-cache.adapter.ts +3 -1
  516. package/src/cache-response-hono.middleware.ts +6 -6
  517. package/src/cache-response.middleware.ts +4 -4
  518. package/src/certificate-inspector-tls.adapter.ts +21 -19
  519. package/src/correlation-hono.middleware.ts +8 -8
  520. package/src/correlation.middleware.ts +2 -2
  521. package/src/cron-scheduler.adapter.ts +4 -2
  522. package/src/cron-task-handler-with-logger.strategy.ts +8 -8
  523. package/src/csv-stringifier.adapter.ts +2 -2
  524. package/src/disk-space-checker-fs.adapter.ts +12 -0
  525. package/src/dynamic-import.service.ts +2 -2
  526. package/src/environment-loader-process-safe.adapter.ts +4 -1
  527. package/src/environment-loader.port.ts +1 -1
  528. package/src/etag-extractor-header.strategy.ts +2 -0
  529. package/src/etag-extractor-hono.middleware.ts +1 -1
  530. package/src/etag-extractor-param.strategy.ts +2 -0
  531. package/src/etag-extractor.strategy.ts +2 -2
  532. package/src/file-inspection.adapter.ts +4 -4
  533. package/src/file-reader-json-forgiving.adapter.ts +1 -1
  534. package/src/graceful-shutdown.service.ts +3 -3
  535. package/src/hash.vo.ts +1 -1
  536. package/src/hcaptcha.service.ts +3 -3
  537. package/src/http-logger-hono.middleware.ts +6 -6
  538. package/src/http-logger.middleware.ts +2 -2
  539. package/src/image-blur-noop.adapter.ts +1 -1
  540. package/src/image-blur.adapter.ts +2 -6
  541. package/src/image-blur.port.ts +1 -7
  542. package/src/in-flight-requests-hono.middleware.ts +1 -0
  543. package/src/in-flight-requests-tracker.service.ts +2 -2
  544. package/src/index.ts +4 -3
  545. package/src/instrumentation.service.ts +5 -2
  546. package/src/job-queue-sqlite-store.service.ts +1 -0
  547. package/src/job-queue-with-logger.adapter.ts +2 -2
  548. package/src/language-detector-cookie.strategy.ts +1 -1
  549. package/src/language-detector-header.strategy.ts +13 -1
  550. package/src/language-detector-hono.middleware.ts +1 -1
  551. package/src/language-detector-query.strategy.ts +1 -1
  552. package/src/language-detector.middleware.ts +2 -2
  553. package/src/language-detector.strategy.ts +2 -2
  554. package/src/liveness-hono.handler.ts +5 -1
  555. package/src/liveness.handler.ts +2 -2
  556. package/src/mailer-content-html.vo.ts +1 -2
  557. package/src/mailer-smtp.adapter.ts +1 -0
  558. package/src/mailer-with-logger.adapter.ts +2 -2
  559. package/src/markdown-generator.adapter.ts +1 -1
  560. package/src/memory-consumption.service.ts +0 -4
  561. package/src/nonce-provider-crypto.adapter.ts +1 -1
  562. package/src/nonce-provider-noop.adapter.ts +1 -1
  563. package/src/nonce-value.vo.ts +2 -2
  564. package/src/pdf-generator-with-logger.adapter.ts +1 -1
  565. package/src/prerequisite-verifier-memory.adapter.ts +1 -1
  566. package/src/prerequisite-verifier-translations.adapter.ts +7 -13
  567. package/src/prerequisite-verifier-with-logger.adapter.ts +1 -1
  568. package/src/randomness.strategy.ts +1 -0
  569. package/src/reactive-config-noop.adapter.ts +6 -5
  570. package/src/reactive-config-with-cache.adapter.ts +1 -1
  571. package/src/reactive-config-with-fallback.adapter.ts +8 -4
  572. package/src/reactive-config-with-logger.adapter.ts +50 -0
  573. package/src/readiness-hono.handler.ts +2 -3
  574. package/src/readiness.handler.ts +13 -2
  575. package/src/redactor-metadata-compact-array.strategy.ts +1 -0
  576. package/src/redactor-metadata-compact-object.strategy.ts +1 -0
  577. package/src/redactor-url-query.strategy.ts +33 -0
  578. package/src/remote-file-storage-disk.adapter.ts +5 -5
  579. package/src/request-context-hono.adapter.ts +2 -0
  580. package/src/request-context.port.ts +11 -1
  581. package/src/sealer-aes-gcm.adapter.ts +6 -1
  582. package/src/secure-key-generator-crypto.adapter.ts +9 -1
  583. package/src/security-rule-bait-routes.strategy.ts +1 -1
  584. package/src/security-rule-honey-pot-field.strategy.ts +5 -4
  585. package/src/security-rule.strategy.ts +2 -4
  586. package/src/semaphore.service.ts +12 -9
  587. package/src/setup-hono.service.ts +1 -1
  588. package/src/shield-api-key-hono.strategy.ts +1 -1
  589. package/src/shield-api-key.strategy.ts +5 -5
  590. package/src/shield-auth.strategy.ts +10 -5
  591. package/src/shield-basic-auth-hono.strategy.ts +8 -2
  592. package/src/shield-basic-auth.strategy.ts +17 -4
  593. package/src/shield-csrf.strategy.ts +2 -2
  594. package/src/shield-hcaptcha-hono-local.strategy.ts +4 -2
  595. package/src/shield-hcaptcha.strategy.ts +11 -4
  596. package/src/shield-ip-blacklist.strategy.ts +4 -4
  597. package/src/shield-ip-whitelist.strategy.ts +3 -3
  598. package/src/shield-maintenance-hono.strategy.ts +7 -4
  599. package/src/shield-maintenance.strategy.ts +42 -6
  600. package/src/shield-rate-limit.strategy.ts +2 -2
  601. package/src/shield-recaptcha.strategy.ts +15 -9
  602. package/src/shield-timeout-hono.strategy.ts +1 -1
  603. package/src/shield-webhook-hono.strategy.ts +1 -1
  604. package/src/shield-webhook.strategy.ts +2 -2
  605. package/src/simulated-error.middleware.ts +3 -1
  606. package/src/sitemap-entry.vo.ts +1 -1
  607. package/src/sitemap-priority.vo.ts +1 -0
  608. package/src/slower-hono.middleware.ts +2 -5
  609. package/src/slower.middleware.ts +2 -2
  610. package/src/sms-with-logger.adapter.ts +1 -1
  611. package/src/sse-hono.handler.ts +4 -2
  612. package/src/sse-registry-collecting.adapter.ts +3 -1
  613. package/src/sse-registry-noop.adapter.ts +3 -1
  614. package/src/sse-registry-with-limit.adapter.ts +3 -3
  615. package/src/sse-registry-with-logger.adapter.ts +6 -4
  616. package/src/sse-registry.adapter.ts +10 -2
  617. package/src/sse-registry.port.ts +1 -1
  618. package/src/ssr-bun.service.ts +1 -1
  619. package/src/ssr.service.ts +1 -1
  620. package/src/standard-schema-validator.service.ts +1 -1
  621. package/src/static-config.adapter.ts +1 -1
  622. package/src/static-files-hono.service.ts +2 -2
  623. package/src/subject-application-resolver.vo.ts +3 -3
  624. package/src/subject-request-resolver.vo.ts +6 -3
  625. package/src/subject-segment-application.strategy.ts +2 -1
  626. package/src/subject-segment-build.strategy.ts +2 -0
  627. package/src/subject-segment-cookie.strategy.ts +4 -0
  628. package/src/subject-segment-env.strategy.ts +2 -0
  629. package/src/subject-segment-fixed.strategy.ts +2 -0
  630. package/src/subject-segment-header.strategy.ts +4 -0
  631. package/src/subject-segment-ip.strategy.ts +2 -0
  632. package/src/subject-segment-method.strategy.ts +10 -0
  633. package/src/subject-segment-param.strategy.ts +4 -0
  634. package/src/subject-segment-path.strategy.ts +2 -0
  635. package/src/subject-segment-query.strategy.ts +7 -7
  636. package/src/subject-segment-request.strategy.ts +8 -4
  637. package/src/subject-segment-user.strategy.ts +2 -0
  638. package/src/time-zone-offset-hono.middleware.ts +1 -1
  639. package/src/time-zone-offset.middleware.ts +4 -2
  640. package/src/timekeeper-google.adapter.ts +1 -1
  641. package/src/timing-hono.middleware.ts +3 -6
  642. package/src/timing.middleware.ts +15 -6
  643. package/src/trailing-slash-hono.middleware.ts +2 -2
  644. package/src/trailing-slash.middleware.ts +14 -2
  645. package/src/translations-provider-json.adapter.ts +6 -6
  646. package/src/translations-provider.port.ts +5 -0
  647. package/src/weak-etag-extractor-header.strategy.ts +4 -0
  648. package/src/weak-etag-extractor-hono.middleware.ts +1 -1
  649. package/src/weak-etag-extractor-param.strategy.ts +2 -0
  650. package/src/weak-etag-extractor.strategy.ts +2 -2
  651. package/src/webhook-signature-extractor.strategy.ts +2 -2
  652. package/src/woodchopper-dispatcher-async.strategy.ts +6 -11
  653. package/dist/cron-scheduler-croner.adapter.d.ts +0 -15
  654. package/dist/cron-scheduler-croner.adapter.d.ts.map +0 -1
  655. package/dist/cron-scheduler-croner.adapter.js +0 -23
  656. package/dist/cron-scheduler-croner.adapter.js.map +0 -1
  657. package/dist/disk-space-checker-shell.adapter.d.ts.map +0 -1
  658. package/dist/disk-space-checker-shell.adapter.js +0 -14
  659. package/dist/disk-space-checker-shell.adapter.js.map +0 -1
  660. package/dist/file-reader-raw-with-cache.adapter.d.ts +0 -20
  661. package/dist/file-reader-raw-with-cache.adapter.d.ts.map +0 -1
  662. package/dist/file-reader-raw-with-cache.adapter.js +0 -20
  663. package/dist/file-reader-raw-with-cache.adapter.js.map +0 -1
  664. package/src/cron-scheduler-croner.adapter.ts +0 -34
  665. package/src/disk-space-checker-shell.adapter.ts +0 -18
  666. package/src/file-reader-raw-with-cache.adapter.ts +0 -31
@@ -7,6 +7,7 @@ export interface RequestContext {
7
7
  url(): string;
8
8
  header(name: string): string | undefined;
9
9
  query(): Record<string, string>;
10
+ queries(): Record<string, ReadonlyArray<string>>;
10
11
  params(): Record<string, string>;
11
12
  param(name: string): string | undefined;
12
13
  cookie(name: string): string | undefined;
@@ -19,6 +20,7 @@ export interface RequestContext {
19
20
  readonly identity: {
20
21
  userId(): UUIDType | undefined;
21
22
  ip(): string | undefined;
23
+ remoteIp(): string | undefined;
22
24
  ua(): string | undefined;
23
25
  };
24
26
  readonly middleware: {
@@ -65,6 +67,11 @@ export interface HasRequestQuery {
65
67
  query(): Record<string, string>;
66
68
  };
67
69
  }
70
+ export interface HasRequestQueries {
71
+ readonly request: {
72
+ queries(): Record<string, ReadonlyArray<string>>;
73
+ };
74
+ }
68
75
  export interface HasRequestParams {
69
76
  readonly request: {
70
77
  params(): Record<string, string>;
@@ -80,7 +87,7 @@ export interface HasRequestCookie {
80
87
  cookie(name: string): string | undefined;
81
88
  };
82
89
  }
83
- export interface HasRequestJSON {
90
+ export interface HasRequestJson {
84
91
  readonly request: {
85
92
  json(): Promise<Record<string, unknown>>;
86
93
  };
@@ -105,6 +112,11 @@ export interface HasIdentityIp {
105
112
  ip(): string | undefined;
106
113
  };
107
114
  }
115
+ export interface HasIdentityRemoteIp {
116
+ readonly identity: {
117
+ remoteIp(): string | undefined;
118
+ };
119
+ }
108
120
  export interface HasIdentityUa {
109
121
  readonly identity: {
110
122
  ua(): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"request-context.port.d.ts","sourceRoot":"","sources":["../src/request-context.port.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-context.port.d.ts","sourceRoot":"","sources":["../src/request-context.port.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ type Dependencies = {
5
5
  };
6
6
  export declare const SealerAesGcmAdapterError: {
7
7
  InvalidPayload: string;
8
+ Undefined: string;
8
9
  };
9
10
  export declare class SealerAesGcmAdapter implements SealerPort {
10
11
  private readonly deps;
@@ -1 +1 @@
1
- {"version":3,"file":"sealer-aes-gcm.adapter.d.ts","sourceRoot":"","sources":["../src/sealer-aes-gcm.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,KAAK,YAAY,GAAG;IAAE,iBAAiB,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAEjE,eAAO,MAAM,wBAAwB;IAAK,cAAc;CAA4C,CAAC;AAErG,qBAAa,mBAAoB,YAAW,UAAU;IAGxC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAE/C,YAA6B,IAAI,EAAE,YAAY,EAAI;IAE7C,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ1C;IAEK,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAW5C;CACF"}
1
+ {"version":3,"file":"sealer-aes-gcm.adapter.d.ts","sourceRoot":"","sources":["../src/sealer-aes-gcm.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,KAAK,YAAY,GAAG;IAAE,iBAAiB,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAEjE,eAAO,MAAM,wBAAwB;IACnC,cAAc;IACd,SAAS;CACV,CAAC;AAEF,qBAAa,mBAAoB,YAAW,UAAU;IAGxC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAE/C,YAA6B,IAAI,EAAE,YAAY,EAAI;IAE7C,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAU1C;IAEK,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAW5C;CACF"}
@@ -1,6 +1,9 @@
1
1
  import { CryptoAesGcm } from "./crypto-aes-gcm.service";
2
2
  import { EncryptionIV } from "./encryption-iv.vo";
3
- export const SealerAesGcmAdapterError = { InvalidPayload: "sealer.aes.gcm.adapter.invalid.payload" };
3
+ export const SealerAesGcmAdapterError = {
4
+ InvalidPayload: "sealer.aes.gcm.adapter.invalid.payload",
5
+ Undefined: "sealer.aes.gcm.adapter.undefined.value",
6
+ };
4
7
  export class SealerAesGcmAdapter {
5
8
  deps;
6
9
  static PREFIX = "sealed:gcm:";
@@ -8,6 +11,8 @@ export class SealerAesGcmAdapter {
8
11
  this.deps = deps;
9
12
  }
10
13
  async seal(value) {
14
+ if (value === undefined)
15
+ throw new Error(SealerAesGcmAdapterError.Undefined);
11
16
  const key = await this.deps.CryptoKeyProvider.get();
12
17
  const iv = EncryptionIV.generate();
13
18
  const plaintext = new TextEncoder().encode(JSON.stringify(value));
@@ -1 +1 @@
1
- {"version":3,"file":"sealer-aes-gcm.adapter.js","sourceRoot":"","sources":["../src/sealer-aes-gcm.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,cAAc,EAAE,wCAAwC,EAAE,CAAC;AAErG,MAAM,OAAO,mBAAmB;IAGD,IAAI;IAFzB,MAAM,CAAU,MAAM,GAAG,aAAa,CAAC;IAE/C,YAA6B,IAAkB;oBAAlB,IAAI;IAAiB,CAAC;IAEnD,KAAK,CAAC,IAAI,CAAC,KAAc;QACvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;QACpD,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAEnC,MAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAExE,OAAO,mBAAmB,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;QAEpD,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACxF,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAE7D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACzD,CAAC;CACF"}
1
+ {"version":3,"file":"sealer-aes-gcm.adapter.js","sourceRoot":"","sources":["../src/sealer-aes-gcm.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,cAAc,EAAE,wCAAwC;IACxD,SAAS,EAAE,wCAAwC;CACpD,CAAC;AAEF,MAAM,OAAO,mBAAmB;IAGD,IAAI;IAFzB,MAAM,CAAU,MAAM,GAAG,aAAa,CAAC;IAE/C,YAA6B,IAAkB;oBAAlB,IAAI;IAAiB,CAAC;IAEnD,KAAK,CAAC,IAAI,CAAC,KAAc;QACvB,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAE7E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;QACpD,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAEnC,MAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAExE,OAAO,mBAAmB,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;QAEpD,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACxF,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAE7D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACzD,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
1
  import type * as tools from "@bgord/tools";
2
2
  import type { SecureKeyGeneratorPort } from "./secure-key-generator.port";
3
3
  export declare class SecureKeyGeneratorCryptoAdapter implements SecureKeyGeneratorPort {
4
+ static readonly MAX_BYTES = 65536;
4
5
  generate(bytes: tools.IntegerPositiveType): Uint8Array;
5
6
  }
6
7
  //# sourceMappingURL=secure-key-generator-crypto.adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"secure-key-generator-crypto.adapter.d.ts","sourceRoot":"","sources":["../src/secure-key-generator-crypto.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,qBAAa,+BAAgC,YAAW,sBAAsB;IAC5E,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,mBAAmB,GAAG,UAAU,CAIrD;CACF"}
1
+ {"version":3,"file":"secure-key-generator-crypto.adapter.d.ts","sourceRoot":"","sources":["../src/secure-key-generator-crypto.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,qBAAa,+BAAgC,YAAW,sBAAsB;IAE5E,MAAM,CAAC,QAAQ,CAAC,SAAS,SAAU;IAEnC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,mBAAmB,GAAG,UAAU,CASrD;CACF"}
@@ -1,7 +1,12 @@
1
1
  export class SecureKeyGeneratorCryptoAdapter {
2
+ // crypto.getRandomValues is spec-limited to a 65536-byte view
3
+ static MAX_BYTES = 65536;
2
4
  generate(bytes) {
3
5
  const buffer = new Uint8Array(bytes);
4
- crypto.getRandomValues(buffer);
6
+ // Stryker disable next-line EqualityOperator
7
+ for (let offset = 0; offset < bytes; offset += SecureKeyGeneratorCryptoAdapter.MAX_BYTES) {
8
+ crypto.getRandomValues(buffer.subarray(offset, offset + SecureKeyGeneratorCryptoAdapter.MAX_BYTES));
9
+ }
5
10
  return buffer;
6
11
  }
7
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"secure-key-generator-crypto.adapter.js","sourceRoot":"","sources":["../src/secure-key-generator-crypto.adapter.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,+BAA+B;IAC1C,QAAQ,CAAC,KAAgC;QACvC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"secure-key-generator-crypto.adapter.js","sourceRoot":"","sources":["../src/secure-key-generator-crypto.adapter.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,+BAA+B;IAC1C,8DAA8D;IAC9D,MAAM,CAAU,SAAS,GAAG,KAAM,CAAC;IAEnC,QAAQ,CAAC,KAAgC;QACvC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QAErC,6CAA6C;QAC7C,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,+BAA+B,CAAC,SAAS,EAAE,CAAC;YACzF,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,+BAA+B,CAAC,SAAS,CAAC,CAAC,CAAC;QACtG,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -6,7 +6,7 @@ export class SecurityRuleBaitRoutesStrategy {
6
6
  this.routes = routes;
7
7
  }
8
8
  async isViolated(context) {
9
- return this.routes.includes(context.request.path);
9
+ return this.routes.includes(context.request.path.toLowerCase().replace(/\/+$/, ""));
10
10
  }
11
11
  get name() {
12
12
  return v.parse(SecurityRuleName, "bait_routes");
@@ -1 +1 @@
1
- {"version":3,"file":"security-rule-bait-routes.strategy.js","sourceRoot":"","sources":["../src/security-rule-bait-routes.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAA6B,MAAM,yBAAyB,CAAC;AAEtF,MAAM,OAAO,8BAA8B;IACZ,MAAM;IAAnC,YAA6B,MAA6B;sBAA7B,MAAM;IAA0B,CAAC;IAE9D,KAAK,CAAC,UAAU,CAAC,OAAuB;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAClD,CAAC;CACF"}
1
+ {"version":3,"file":"security-rule-bait-routes.strategy.js","sourceRoot":"","sources":["../src/security-rule-bait-routes.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAA6B,MAAM,yBAAyB,CAAC;AAEtF,MAAM,OAAO,8BAA8B;IACZ,MAAM;IAAnC,YAA6B,MAA6B;sBAA7B,MAAM;IAA0B,CAAC;IAE9D,KAAK,CAAC,UAAU,CAAC,OAAuB;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,IAAI;QACN,OAAO,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAClD,CAAC;CACF"}
@@ -1,10 +1,10 @@
1
- import type { HasRequestJSON } from "./request-context.port";
1
+ import type { HasRequestForm, HasRequestJson } from "./request-context.port";
2
2
  import type { SecurityRuleStrategy } from "./security-rule.strategy";
3
3
  import { type SecurityRuleNameType } from "./security-rule-name.vo";
4
4
  export declare class SecurityRuleHoneyPotFieldStrategy implements SecurityRuleStrategy {
5
5
  private readonly field;
6
6
  constructor(field: string);
7
- isViolated(context: HasRequestJSON): Promise<boolean>;
7
+ isViolated(context: HasRequestJson & HasRequestForm): Promise<boolean>;
8
8
  get name(): SecurityRuleNameType;
9
9
  }
10
10
  //# sourceMappingURL=security-rule-honey-pot-field.strategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security-rule-honey-pot-field.strategy.d.ts","sourceRoot":"","sources":["../src/security-rule-honey-pot-field.strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAoB,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEtF,qBAAa,iCAAkC,YAAW,oBAAoB;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAlC,YAA6B,KAAK,EAAE,MAAM,EAAI;IAExC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAM1D;IAED,IAAI,IAAI,IAAI,oBAAoB,CAE/B;CACF"}
1
+ {"version":3,"file":"security-rule-honey-pot-field.strategy.d.ts","sourceRoot":"","sources":["../src/security-rule-honey-pot-field.strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAoB,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEtF,qBAAa,iCAAkC,YAAW,oBAAoB;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAlC,YAA6B,KAAK,EAAE,MAAM,EAAI;IAExC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAO3E;IAED,IAAI,IAAI,IAAI,oBAAoB,CAE/B;CACF"}
@@ -7,8 +7,9 @@ export class SecurityRuleHoneyPotFieldStrategy {
7
7
  }
8
8
  async isViolated(context) {
9
9
  const body = await context.request.json();
10
- const value = body[this.field];
11
- return value !== undefined && value !== null && value !== "";
10
+ const form = await context.request.form();
11
+ const value = body[this.field] ?? form.get(this.field);
12
+ return value !== null && value !== "";
12
13
  }
13
14
  get name() {
14
15
  return v.parse(SecurityRuleName, "honey_pot_field");
@@ -1 +1 @@
1
- {"version":3,"file":"security-rule-honey-pot-field.strategy.js","sourceRoot":"","sources":["../src/security-rule-honey-pot-field.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAA6B,MAAM,yBAAyB,CAAC;AAEtF,MAAM,OAAO,iCAAiC;IACf,KAAK;IAAlC,YAA6B,KAAa;qBAAb,KAAK;IAAW,CAAC;IAE9C,KAAK,CAAC,UAAU,CAAC,OAAuB;QACtC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAE1C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/B,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;IAC/D,CAAC;IAED,IAAI,IAAI;QACN,OAAO,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IACtD,CAAC;CACF"}
1
+ {"version":3,"file":"security-rule-honey-pot-field.strategy.js","sourceRoot":"","sources":["../src/security-rule-honey-pot-field.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAA6B,MAAM,yBAAyB,CAAC;AAEtF,MAAM,OAAO,iCAAiC;IACf,KAAK;IAAlC,YAA6B,KAAa;qBAAb,KAAK;IAAW,CAAC;IAE9C,KAAK,CAAC,UAAU,CAAC,OAAwC;QACvD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAE1C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvD,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IACtD,CAAC;CACF"}
@@ -1,9 +1,7 @@
1
- import type { HasRequestJSON, HasRequestPath } from "./request-context.port";
1
+ import type { HasRequestForm, HasRequestJson, HasRequestPath } from "./request-context.port";
2
2
  import type { SecurityRuleNameType } from "./security-rule-name.vo";
3
- type RequestContextCapabilities = HasRequestPath & HasRequestJSON;
4
3
  export interface SecurityRuleStrategy {
5
- isViolated(context: RequestContextCapabilities): Promise<boolean>;
4
+ isViolated(context: HasRequestPath & HasRequestJson & HasRequestForm): Promise<boolean>;
6
5
  get name(): SecurityRuleNameType;
7
6
  }
8
- export {};
9
7
  //# sourceMappingURL=security-rule.strategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security-rule.strategy.d.ts","sourceRoot":"","sources":["../src/security-rule.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,KAAK,0BAA0B,GAAG,cAAc,GAAG,cAAc,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAElE,IAAI,IAAI,IAAI,oBAAoB,CAAC;CAClC"}
1
+ {"version":3,"file":"security-rule.strategy.d.ts","sourceRoot":"","sources":["../src/security-rule.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,GAAG,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAExF,IAAI,IAAI,IAAI,oBAAoB,CAAC;CAClC"}
@@ -3,7 +3,9 @@ export type SemaphoreConfig = {
3
3
  limit: tools.IntegerPositiveType;
4
4
  };
5
5
  export declare class Semaphore {
6
- private readonly slots;
6
+ private readonly limit;
7
+ private active;
8
+ private readonly waiting;
7
9
  constructor(config: SemaphoreConfig);
8
10
  run<T>(action: () => Promise<T>): Promise<T>;
9
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"semaphore.service.d.ts","sourceRoot":"","sources":["../src/semaphore.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAA;CAAE,CAAC;AAEnE,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAE7C,YAAY,MAAM,EAAE,eAAe,EAElC;IAEK,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAajD;CACF"}
1
+ {"version":3,"file":"semaphore.service.d.ts","sourceRoot":"","sources":["../src/semaphore.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAA;CAAE,CAAC;AAEnE,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4B;IAElD,OAAO,CAAC,MAAM,CAAK;IAEnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IAEjD,YAAY,MAAM,EAAE,eAAe,EAElC;IAEK,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAYjD;CACF"}
@@ -1,18 +1,24 @@
1
1
  export class Semaphore {
2
- slots;
2
+ limit;
3
+ active = 0;
4
+ waiting = [];
3
5
  constructor(config) {
4
- this.slots = Array.from({ length: config.limit }, () => Promise.resolve());
6
+ this.limit = config.limit;
5
7
  }
6
8
  async run(action) {
7
- const slot = this.slots.shift();
8
- const { promise, resolve } = Promise.withResolvers();
9
- this.slots.push(promise);
10
- await slot;
9
+ if (this.active >= this.limit)
10
+ await new Promise((resolve) => this.waiting.push(resolve));
11
+ else
12
+ this.active++;
11
13
  try {
12
14
  return await action();
13
15
  }
14
16
  finally {
15
- resolve();
17
+ const next = this.waiting.shift();
18
+ if (next)
19
+ next();
20
+ else
21
+ this.active--;
16
22
  }
17
23
  }
18
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"semaphore.service.js","sourceRoot":"","sources":["../src/semaphore.service.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,SAAS;IACH,KAAK,CAAuB;IAE7C,YAAY,MAAuB;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,MAAwB;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;QAE3D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzB,MAAM,IAAI,CAAC;QAEX,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,EAAE,CAAC;QACxB,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"semaphore.service.js","sourceRoot":"","sources":["../src/semaphore.service.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,SAAS;IACH,KAAK,CAA4B;IAE1C,MAAM,GAAG,CAAC,CAAC;IAEF,OAAO,GAAsB,EAAE,CAAC;IAEjD,YAAY,MAAuB;QACjC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,MAAwB;QACnC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;;YAC3F,IAAI,CAAC,MAAM,EAAE,CAAC;QAEnB,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,EAAE,CAAC;QACxB,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAElC,IAAI,IAAI;gBAAE,IAAI,EAAE,CAAC;;gBACZ,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;CACF"}
@@ -20,6 +20,7 @@ export class SetupHono {
20
20
  new ShieldMaintenanceHonoStrategy(config.maintenanceMode).handle(),
21
21
  new TrailingSlashHonoMiddleware().handle(),
22
22
  new CorrelationHonoMiddleware(deps).handle(),
23
+ new TimingHonoMiddleware(deps).handle(),
23
24
  new ApiVersionHonoMiddleware(deps).handle(),
24
25
  new ShieldCsrfHonoStrategy(config.csrf).handle(),
25
26
  secureHeaders({
@@ -43,7 +44,6 @@ export class SetupHono {
43
44
  new LanguageDetectorHonoMiddleware(config.I18n).handle(),
44
45
  new TimeZoneOffsetHonoMiddleware().handle(),
45
46
  new HttpLoggerHonoMiddleware(deps, config.httpLogger).handle(),
46
- new TimingHonoMiddleware(deps).handle(),
47
47
  ];
48
48
  }
49
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup-hono.service.js","sourceRoot":"","sources":["../src/setup-hono.service.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAG1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAIrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAmB/E,MAAM,OAAO,SAAS;IACpB,mDAAmD;IACnD,2CAA2C;IAC3C,qCAAqC;IACrC,MAAM,CAAC,UAAU,CACf,MAAiB,EACjB,IAAkB;QAElB,OAAO;YACL,IAAI,6BAA6B,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE;YAClE,IAAI,2BAA2B,EAAE,CAAC,MAAM,EAAE;YAC1C,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YAC5C,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YAC3C,IAAI,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YAChD,aAAa,CAAC;gBACZ,cAAc,EAAE,aAAa;gBAC7B,mBAAmB,EAAE,SAAS;gBAC9B,mBAAmB,EAAE,KAAK;gBAC1B,gBAAgB,EAAE,IAAI;gBACtB,6BAA6B,EAAE,KAAK;gBACpC,yBAAyB,EAAE,KAAK;gBAChC,uBAAuB,EAAE,KAAK;gBAC9B,yBAAyB,EAAE,KAAK;gBAChC,kBAAkB,EAAE,KAAK;gBACzB,aAAa,EAAE,KAAK;aACrB,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7E,WAAW,EAAE,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO;gBAC1C,GAAG,MAAM,CAAC,IAAI;aACf,CAAC;YACF,IAAI,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YACxD,IAAI,4BAA4B,EAAE,CAAC,MAAM,EAAE;YAC3C,IAAI,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;YAC9D,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;SACxC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"setup-hono.service.js","sourceRoot":"","sources":["../src/setup-hono.service.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAG1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAIrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAmB/E,MAAM,OAAO,SAAS;IACpB,mDAAmD;IACnD,2CAA2C;IAC3C,qCAAqC;IACrC,MAAM,CAAC,UAAU,CACf,MAAiB,EACjB,IAAkB;QAElB,OAAO;YACL,IAAI,6BAA6B,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE;YAClE,IAAI,2BAA2B,EAAE,CAAC,MAAM,EAAE;YAC1C,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YAC5C,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YACvC,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YAC3C,IAAI,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YAChD,aAAa,CAAC;gBACZ,cAAc,EAAE,aAAa;gBAC7B,mBAAmB,EAAE,SAAS;gBAC9B,mBAAmB,EAAE,KAAK;gBAC1B,gBAAgB,EAAE,IAAI;gBACtB,6BAA6B,EAAE,KAAK;gBACpC,yBAAyB,EAAE,KAAK;gBAChC,uBAAuB,EAAE,KAAK;gBAC9B,yBAAyB,EAAE,KAAK;gBAChC,kBAAkB,EAAE,KAAK;gBACzB,aAAa,EAAE,KAAK;aACrB,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7E,WAAW,EAAE,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO;gBAC1C,GAAG,MAAM,CAAC,IAAI;aACf,CAAC;YACF,IAAI,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YACxD,IAAI,4BAA4B,EAAE,CAAC,MAAM,EAAE;YAC3C,IAAI,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;SAC/D,CAAC;IACJ,CAAC;CACF"}
@@ -11,7 +11,7 @@ export class ShieldApiKeyHonoStrategy {
11
11
  const context = new RequestContextHonoAdapter(c);
12
12
  if (this.strategy.evaluate(context))
13
13
  return next();
14
- throw new HTTPException(403, { message: ShieldApiKeyStrategyError.Rejected });
14
+ throw new HTTPException(401, { message: ShieldApiKeyStrategyError.Rejected });
15
15
  };
16
16
  }
17
17
  }
@@ -1,4 +1,4 @@
1
- import type * as tools from "@bgord/tools";
1
+ import * as tools from "@bgord/tools";
2
2
  import type { HasRequestHeader } from "./request-context.port";
3
3
  export type ApiKeyShieldConfig = {
4
4
  API_KEY: tools.ApiKeyType;
@@ -1 +1 @@
1
- {"version":3,"file":"shield-api-key.strategy.d.ts","sourceRoot":"","sources":["../src/shield-api-key.strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAA;CAAE,CAAC;AAE/D,eAAO,MAAM,yBAAyB;IAAK,QAAQ;CAA6B,CAAC;AAEjF,qBAAa,oBAAoB;IAGnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,MAAM,CAAC,QAAQ,CAAC,WAAW,aAAa;IAExC,YAA6B,MAAM,EAAE,kBAAkB,EAAI;IAE3D,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAO3C;CACF"}
1
+ {"version":3,"file":"shield-api-key.strategy.d.ts","sourceRoot":"","sources":["../src/shield-api-key.strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAA;CAAE,CAAC;AAE/D,eAAO,MAAM,yBAAyB;IAAK,QAAQ;CAA6B,CAAC;AAEjF,qBAAa,oBAAoB;IAGnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,MAAM,CAAC,QAAQ,CAAC,WAAW,aAAa;IAExC,YAA6B,MAAM,EAAE,kBAAkB,EAAI;IAE3D,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAM3C;CACF"}
@@ -1,4 +1,6 @@
1
1
  import { timingSafeEqual } from "node:crypto";
2
+ import * as tools from "@bgord/tools";
3
+ import * as v from "valibot";
2
4
  export const ShieldApiKeyStrategyError = { Rejected: "shield.api.key.rejected" };
3
5
  export class ShieldApiKeyStrategy {
4
6
  config;
@@ -7,11 +9,10 @@ export class ShieldApiKeyStrategy {
7
9
  this.config = config;
8
10
  }
9
11
  evaluate(context) {
10
- const header = context.request.header(ShieldApiKeyStrategy.HEADER_NAME);
11
- const config = this.config.API_KEY;
12
- if (header?.length !== config.length)
12
+ const header = v.safeParse(tools.ApiKey, context.request.header(ShieldApiKeyStrategy.HEADER_NAME));
13
+ if (!header.success)
13
14
  return false;
14
- return timingSafeEqual(Buffer.from(header), Buffer.from(config));
15
+ return timingSafeEqual(Buffer.from(header.output), Buffer.from(this.config.API_KEY));
15
16
  }
16
17
  }
17
18
  //# sourceMappingURL=shield-api-key.strategy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shield-api-key.strategy.js","sourceRoot":"","sources":["../src/shield-api-key.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAM9C,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC;AAEjF,MAAM,OAAO,oBAAoB;IAGF,MAAM;IAFnC,MAAM,CAAU,WAAW,GAAG,SAAS,CAAC;IAExC,YAA6B,MAA0B;sBAA1B,MAAM;IAAuB,CAAC;IAE3D,QAAQ,CAAC,OAAyB;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAEnC,IAAI,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAEnD,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;CACF"}
1
+ {"version":3,"file":"shield-api-key.strategy.js","sourceRoot":"","sources":["../src/shield-api-key.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAK7B,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC;AAEjF,MAAM,OAAO,oBAAoB;IAGF,MAAM;IAFnC,MAAM,CAAU,WAAW,GAAG,SAAS,CAAC;IAExC,YAA6B,MAA0B;sBAA1B,MAAM;IAAuB,CAAC;IAE3D,QAAQ,CAAC,OAAyB;QAChC,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;QAEnG,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAElC,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACvF,CAAC;CACF"}
@@ -5,13 +5,14 @@ type Dependencies<User, Session> = {
5
5
  };
6
6
  export declare const ShieldAuthStrategyError: {
7
7
  Rejected: string;
8
+ NotAttached: string;
8
9
  };
9
10
  export declare class ShieldAuthStrategy<User, Session> {
10
11
  private readonly deps;
11
12
  constructor(deps: Dependencies<User, Session>);
12
13
  attach(context: HasRequestHeaders): Promise<AuthSessionType<User, Session>>;
13
- verify(user: User | null): boolean;
14
- reverse(user: User | null): boolean;
14
+ verify(user: User | null | undefined): boolean;
15
+ reverse(user: User | null | undefined): boolean;
15
16
  }
16
17
  export {};
17
18
  //# sourceMappingURL=shield-auth.strategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shield-auth.strategy.d.ts","sourceRoot":"","sources":["../src/shield-auth.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,KAAK,YAAY,CAAC,IAAI,EAAE,OAAO,IAAI;IAAE,iBAAiB,EAAE,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAE/F,eAAO,MAAM,uBAAuB;IAAK,QAAQ;CAA0B,CAAC;AAE5E,qBAAa,kBAAkB,CAAC,IAAI,EAAE,OAAO;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,EAAI;IAE5D,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAEhF;IAED,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAEjC;IAED,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAElC;CACF"}
1
+ {"version":3,"file":"shield-auth.strategy.d.ts","sourceRoot":"","sources":["../src/shield-auth.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,KAAK,YAAY,CAAC,IAAI,EAAE,OAAO,IAAI;IAAE,iBAAiB,EAAE,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAE/F,eAAO,MAAM,uBAAuB;IAClC,QAAQ;IACR,WAAW;CACZ,CAAC;AAEF,qBAAa,kBAAkB,CAAC,IAAI,EAAE,OAAO;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,EAAI;IAE5D,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAEhF;IAED,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAG7C;IAED,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAG9C;CACF"}
@@ -1,4 +1,7 @@
1
- export const ShieldAuthStrategyError = { Rejected: "shield.auth.rejected" };
1
+ export const ShieldAuthStrategyError = {
2
+ Rejected: "shield.auth.rejected",
3
+ NotAttached: "shield.auth.not.attached",
4
+ };
2
5
  export class ShieldAuthStrategy {
3
6
  deps;
4
7
  constructor(deps) {
@@ -8,10 +11,14 @@ export class ShieldAuthStrategy {
8
11
  return await this.deps.AuthSessionReader.getSession(context);
9
12
  }
10
13
  verify(user) {
11
- return user !== null && user !== undefined;
14
+ if (user === undefined)
15
+ throw new Error(ShieldAuthStrategyError.NotAttached);
16
+ return user !== null;
12
17
  }
13
18
  reverse(user) {
14
- return !user;
19
+ if (user === undefined)
20
+ throw new Error(ShieldAuthStrategyError.NotAttached);
21
+ return user === null;
15
22
  }
16
23
  }
17
24
  //# sourceMappingURL=shield-auth.strategy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shield-auth.strategy.js","sourceRoot":"","sources":["../src/shield-auth.strategy.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;AAE5E,MAAM,OAAO,kBAAkB;IACA,IAAI;IAAjC,YAA6B,IAAiC;oBAAjC,IAAI;IAAgC,CAAC;IAElE,KAAK,CAAC,MAAM,CAAC,OAA0B;QACrC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,IAAiB;QACtB,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,CAAC;IAC7C,CAAC;IAED,OAAO,CAAC,IAAiB;QACvB,OAAO,CAAC,IAAI,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"shield-auth.strategy.js","sourceRoot":"","sources":["../src/shield-auth.strategy.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,QAAQ,EAAE,sBAAsB;IAChC,WAAW,EAAE,0BAA0B;CACxC,CAAC;AAEF,MAAM,OAAO,kBAAkB;IACA,IAAI;IAAjC,YAA6B,IAAiC;oBAAjC,IAAI;IAAgC,CAAC;IAElE,KAAK,CAAC,MAAM,CAAC,OAA0B;QACrC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,IAA6B;QAClC,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAC7E,OAAO,IAAI,KAAK,IAAI,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,IAA6B;QACnC,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAC7E,OAAO,IAAI,KAAK,IAAI,CAAC;IACvB,CAAC;CACF"}
@@ -2,6 +2,7 @@ import type { MiddlewareHandler } from "hono";
2
2
  import type { MiddlewareHonoPort } from "./middleware-hono.port";
3
3
  import { type ShieldBasicAuthConfig } from "./shield-basic-auth.strategy";
4
4
  export declare class ShieldBasicAuthHonoStrategy implements MiddlewareHonoPort {
5
+ private readonly config;
5
6
  private readonly strategy;
6
7
  constructor(config: ShieldBasicAuthConfig);
7
8
  handle(): MiddlewareHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"shield-basic-auth-hono.strategy.d.ts","sourceRoot":"","sources":["../src/shield-basic-auth-hono.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAE9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,8BAA8B,CAAC;AAEtC,qBAAa,2BAA4B,YAAW,kBAAkB;IACpE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IAEnD,YAAY,MAAM,EAAE,qBAAqB,EAExC;IAED,MAAM,IAAI,iBAAiB,CAO1B;CACF"}
1
+ {"version":3,"file":"shield-basic-auth-hono.strategy.d.ts","sourceRoot":"","sources":["../src/shield-basic-auth-hono.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAE9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,8BAA8B,CAAC;AAEtC,qBAAa,2BAA4B,YAAW,kBAAkB;IAGxD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IAEnD,YAA6B,MAAM,EAAE,qBAAqB,EAEzD;IAED,MAAM,IAAI,iBAAiB,CAa1B;CACF"}
@@ -2,8 +2,10 @@ import { HTTPException } from "hono/http-exception";
2
2
  import { RequestContextHonoAdapter } from "./request-context-hono.adapter";
3
3
  import { ShieldBasicAuthStrategy, ShieldBasicAuthStrategyError, } from "./shield-basic-auth.strategy";
4
4
  export class ShieldBasicAuthHonoStrategy {
5
+ config;
5
6
  strategy;
6
7
  constructor(config) {
8
+ this.config = config;
7
9
  this.strategy = new ShieldBasicAuthStrategy(config);
8
10
  }
9
11
  handle() {
@@ -11,7 +13,12 @@ export class ShieldBasicAuthHonoStrategy {
11
13
  const context = new RequestContextHonoAdapter(c);
12
14
  if (this.strategy.evaluate(context))
13
15
  return next();
14
- throw new HTTPException(401, { message: ShieldBasicAuthStrategyError.Rejected });
16
+ throw new HTTPException(401, {
17
+ message: ShieldBasicAuthStrategyError.Rejected,
18
+ res: new Response(ShieldBasicAuthStrategyError.Rejected, {
19
+ headers: { "WWW-Authenticate": `Basic realm="${this.config.realm}"` },
20
+ }),
21
+ });
15
22
  };
16
23
  }
17
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shield-basic-auth-hono.strategy.js","sourceRoot":"","sources":["../src/shield-basic-auth-hono.strategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAEL,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,8BAA8B,CAAC;AAEtC,MAAM,OAAO,2BAA2B;IACrB,QAAQ,CAA0B;IAEnD,YAAY,MAA6B;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAEjD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,EAAE,CAAC;YACnD,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,4BAA4B,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"shield-basic-auth-hono.strategy.js","sourceRoot":"","sources":["../src/shield-basic-auth-hono.strategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAEL,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,8BAA8B,CAAC;AAEtC,MAAM,OAAO,2BAA2B;IAGT,MAAM;IAFlB,QAAQ,CAA0B;IAEnD,YAA6B,MAA6B;sBAA7B,MAAM;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAEjD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,EAAE,CAAC;YAEnD,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE;gBAC3B,OAAO,EAAE,4BAA4B,CAAC,QAAQ;gBAC9C,GAAG,EAAE,IAAI,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,EAAE;oBACvD,OAAO,EAAE,EAAE,kBAAkB,EAAE,gBAAgB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;iBACtE,CAAC;aACH,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;CACF"}
@@ -4,6 +4,7 @@ import type { HasRequestHeader } from "./request-context.port";
4
4
  export type ShieldBasicAuthConfig = {
5
5
  username: BasicAuthUsernameType;
6
6
  password: BasicAuthPasswordType;
7
+ realm: string;
7
8
  };
8
9
  export declare const ShieldBasicAuthStrategyError: {
9
10
  Rejected: string;
@@ -1 +1 @@
1
- {"version":3,"file":"shield-basic-auth.strategy.d.ts","sourceRoot":"","sources":["../src/shield-basic-auth.strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,qBAAqB,GAAG;IAAE,QAAQ,EAAE,qBAAqB,CAAC;IAAC,QAAQ,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAEzG,eAAO,MAAM,4BAA4B;IAAK,QAAQ;CAAgC,CAAC;AAEvF,qBAAa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAnC,YAA6B,MAAM,EAAE,qBAAqB,EAAI;IAE9D,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAgB3C;CACF"}
1
+ {"version":3,"file":"shield-basic-auth.strategy.d.ts","sourceRoot":"","sources":["../src/shield-basic-auth.strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,4BAA4B;IAAK,QAAQ;CAAgC,CAAC;AAEvF,qBAAa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAnC,YAA6B,MAAM,EAAE,qBAAqB,EAAI;IAE9D,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAyB3C;CACF"}
@@ -9,10 +9,18 @@ export class ShieldBasicAuthStrategy {
9
9
  const header = context.request.header("authorization");
10
10
  try {
11
11
  const credentials = atob(String(header).replace("Basic ", ""));
12
- const [username, password] = credentials.split(":");
13
- if (username !== this.config.username)
12
+ const index = credentials.indexOf(":");
13
+ if (index === -1)
14
14
  return false;
15
- if (password?.length !== this.config.password.length)
15
+ const username = credentials.slice(0, index);
16
+ const password = credentials.slice(index + 1);
17
+ // Stryker disable next-line ConditionalExpression
18
+ if (username.length !== this.config.username.length)
19
+ return false;
20
+ if (!timingSafeEqual(Buffer.from(username), Buffer.from(this.config.username)))
21
+ return false;
22
+ // Stryker disable next-line ConditionalExpression
23
+ if (password.length !== this.config.password.length)
16
24
  return false;
17
25
  return timingSafeEqual(Buffer.from(password), Buffer.from(this.config.password));
18
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shield-basic-auth.strategy.js","sourceRoot":"","sources":["../src/shield-basic-auth.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO9C,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC;AAEvF,MAAM,OAAO,uBAAuB;IACL,MAAM;IAAnC,YAA6B,MAA6B;sBAA7B,MAAM;IAA0B,CAAC;IAE9D,QAAQ,CAAC,OAAyB;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAEvD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YAE/D,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAEpD,IAAI,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAEnE,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"shield-basic-auth.strategy.js","sourceRoot":"","sources":["../src/shield-basic-auth.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAW9C,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC;AAEvF,MAAM,OAAO,uBAAuB;IACL,MAAM;IAAnC,YAA6B,MAA6B;sBAA7B,MAAM;IAA0B,CAAC;IAE9D,QAAQ,CAAC,OAAyB;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAEvD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YAE/D,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAEvC,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAE/B,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAE9C,kDAAkD;YAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAElE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAE7F,kDAAkD;YAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAElE,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- const STATE_CHANGING_METHODS = ["POST", "PUT", "PATCH", "DELETE"];
1
+ const SAFE_METHODS = ["GET", "HEAD", "OPTIONS", "TRACE"];
2
2
  export const ShieldCsrfStrategyError = { Rejected: "shield.csrf.rejected" };
3
3
  export class ShieldCsrfStrategy {
4
4
  config;
@@ -6,7 +6,7 @@ export class ShieldCsrfStrategy {
6
6
  this.config = config;
7
7
  }
8
8
  evaluate(context) {
9
- if (!STATE_CHANGING_METHODS.includes(context.request.method))
9
+ if (SAFE_METHODS.includes(context.request.method))
10
10
  return true;
11
11
  const origin = context.request.header("origin");
12
12
  if (!origin)
@@ -1 +1 @@
1
- {"version":3,"file":"shield-csrf.strategy.js","sourceRoot":"","sources":["../src/shield-csrf.strategy.ts"],"names":[],"mappings":"AAEA,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAIlE,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;AAE5E,MAAM,OAAO,kBAAkB;IACA,MAAM;IAAnC,YAA6B,MAAwB;sBAAxB,MAAM;IAAqB,CAAC;IAEzD,QAAQ,CAAC,OAA4C;QACnD,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAE1E,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"shield-csrf.strategy.js","sourceRoot":"","sources":["../src/shield-csrf.strategy.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAIzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;AAE5E,MAAM,OAAO,kBAAkB;IACA,MAAM;IAAnC,YAA6B,MAAwB;sBAAxB,MAAM;IAAqB,CAAC;IAEzD,QAAQ,CAAC,OAA4C;QACnD,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAE/D,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"shield-hcaptcha-hono-local.strategy.d.ts","sourceRoot":"","sources":["../src/shield-hcaptcha-hono-local.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAI9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAIjE,eAAO,MAAM,gCAAgC;IAAK,QAAQ;CAAoC,CAAC;AAE/F,qBAAa,+BAAgC,YAAW,kBAAkB;IACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAElD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAGtC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAA0C;IAE7E,cAEC;IAED,MAAM,IAAI,iBAAiB,CAS1B;CACF"}
1
+ {"version":3,"file":"shield-hcaptcha-hono-local.strategy.d.ts","sourceRoot":"","sources":["../src/shield-hcaptcha-hono-local.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAI9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAIjE,eAAO,MAAM,gCAAgC;IAAK,QAAQ;CAAoC,CAAC;AAE/F,qBAAa,+BAAgC,YAAW,kBAAkB;IACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAElD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAGtC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAA0C;IAE7E,cAEC;IAED,MAAM,IAAI,iBAAiB,CAW1B;CACF"}
@@ -14,7 +14,9 @@ export class ShieldHcaptchaLocalHonoStrategy {
14
14
  return async (_c, next) => {
15
15
  const form = new FormData();
16
16
  form.set(ShieldHcaptchaStrategyField, ShieldHcaptchaLocalHonoStrategy.TOKEN_LOCAL);
17
- const context = { request: { form: async () => form } };
17
+ const context = {
18
+ request: { form: async () => form, json: async () => ({}) },
19
+ };
18
20
  if (await this.strategy.evaluate(context))
19
21
  return next();
20
22
  throw new HTTPException(403, { message: ShieldHcaptchaLocalStrategyError.Rejected });
@@ -1 +1 @@
1
- {"version":3,"file":"shield-hcaptcha-hono-local.strategy.js","sourceRoot":"","sources":["../src/shield-hcaptcha-hono-local.strategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEjG,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,QAAQ,EAAE,gCAAgC,EAAE,CAAC;AAE/F,MAAM,OAAO,+BAA+B;IACzB,QAAQ,CAAyB;IAE1C,MAAM,CAAU,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAChD,iBAAiB,EACjB,4CAA4C,CAC7C,CAAC;IAEM,MAAM,CAAU,WAAW,GAAG,sCAAsC,CAAC;IAE7E;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,CAAC,+BAA+B,CAAC,gBAAgB,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YACxB,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,+BAA+B,CAAC,WAAW,CAAC,CAAC;YACnF,MAAM,OAAO,GAAmB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YAExE,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,EAAE,CAAC;YACzD,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,gCAAgC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvF,CAAC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"shield-hcaptcha-hono-local.strategy.js","sourceRoot":"","sources":["../src/shield-hcaptcha-hono-local.strategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEjG,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,QAAQ,EAAE,gCAAgC,EAAE,CAAC;AAE/F,MAAM,OAAO,+BAA+B;IACzB,QAAQ,CAAyB;IAE1C,MAAM,CAAU,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAChD,iBAAiB,EACjB,4CAA4C,CAC7C,CAAC;IAEM,MAAM,CAAU,WAAW,GAAG,sCAAsC,CAAC;IAE7E;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,CAAC,+BAA+B,CAAC,gBAAgB,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YACxB,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,+BAA+B,CAAC,WAAW,CAAC,CAAC;YACnF,MAAM,OAAO,GAAoC;gBAC/C,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;aAC5D,CAAC;YAEF,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,EAAE,CAAC;YACzD,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,gCAAgC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvF,CAAC,CAAC;IACJ,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
1
  import type { HCaptchaSecretKeyType } from "./hcaptcha-secret-key.vo";
2
- import type { HasRequestForm } from "./request-context.port";
2
+ import type { HasRequestForm, HasRequestJson } from "./request-context.port";
3
3
  export declare const ShieldHcaptchaStrategyError: {
4
4
  Rejected: string;
5
5
  };
@@ -8,6 +8,6 @@ export declare class ShieldHcaptchaStrategy {
8
8
  private readonly secretKey;
9
9
  private readonly hcaptcha;
10
10
  constructor(secretKey: HCaptchaSecretKeyType);
11
- evaluate(context: HasRequestForm): Promise<boolean>;
11
+ evaluate(context: HasRequestForm & HasRequestJson): Promise<boolean>;
12
12
  }
13
13
  //# sourceMappingURL=shield-hcaptcha.strategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shield-hcaptcha.strategy.d.ts","sourceRoot":"","sources":["../src/shield-hcaptcha.strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,eAAO,MAAM,2BAA2B;IAAK,QAAQ;CAA8B,CAAC;AAEpF,eAAO,MAAM,2BAA2B,uBAAuB,CAAC;AAEhE,qBAAa,sBAAsB;IAGrB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAFtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAElD,YAA6B,SAAS,EAAE,qBAAqB,EAAI;IAE3D,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAWxD;CACF"}
1
+ {"version":3,"file":"shield-hcaptcha.strategy.d.ts","sourceRoot":"","sources":["../src/shield-hcaptcha.strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7E,eAAO,MAAM,2BAA2B;IAAK,QAAQ;CAA8B,CAAC;AAEpF,eAAO,MAAM,2BAA2B,uBAAuB,CAAC;AAEhE,qBAAa,sBAAsB;IAGrB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAFtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAElD,YAA6B,SAAS,EAAE,qBAAqB,EAAI;IAE3D,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBzE;CACF"}