@nocobase/plugin-mcp-server 2.3.0-beta.13 → 2.3.0-beta.15

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 (574) hide show
  1. package/dist/externalVersion.js +6 -6
  2. package/dist/node_modules/hono/README.md +1 -1
  3. package/dist/node_modules/hono/dist/_virtual/_rolldown/runtime.js +13 -0
  4. package/dist/node_modules/hono/dist/adapter/aws-lambda/conninfo.js +42 -23
  5. package/dist/node_modules/hono/dist/adapter/aws-lambda/handler.js +320 -342
  6. package/dist/node_modules/hono/dist/adapter/aws-lambda/index.js +2 -8
  7. package/dist/node_modules/hono/dist/adapter/aws-lambda/types.js +1 -0
  8. package/dist/node_modules/hono/dist/adapter/bun/conninfo.js +20 -25
  9. package/dist/node_modules/hono/dist/adapter/bun/index.js +3 -13
  10. package/dist/node_modules/hono/dist/adapter/bun/serve-static.js +27 -27
  11. package/dist/node_modules/hono/dist/adapter/bun/server.js +11 -5
  12. package/dist/node_modules/hono/dist/adapter/bun/ssg.js +25 -15
  13. package/dist/node_modules/hono/dist/adapter/bun/websocket.js +61 -68
  14. package/dist/node_modules/hono/dist/adapter/cloudflare-pages/conninfo.js +24 -9
  15. package/dist/node_modules/hono/dist/adapter/cloudflare-pages/handler.js +59 -62
  16. package/dist/node_modules/hono/dist/adapter/cloudflare-pages/index.js +2 -8
  17. package/dist/node_modules/hono/dist/adapter/cloudflare-workers/conninfo.js +7 -9
  18. package/dist/node_modules/hono/dist/adapter/cloudflare-workers/index.js +3 -8
  19. package/dist/node_modules/hono/dist/adapter/cloudflare-workers/serve-static-module.js +5 -6
  20. package/dist/node_modules/hono/dist/adapter/cloudflare-workers/serve-static.js +26 -20
  21. package/dist/node_modules/hono/dist/adapter/cloudflare-workers/utils.js +21 -34
  22. package/dist/node_modules/hono/dist/adapter/cloudflare-workers/websocket.js +31 -39
  23. package/dist/node_modules/hono/dist/adapter/deno/conninfo.js +16 -13
  24. package/dist/node_modules/hono/dist/adapter/deno/deno.d.js +1 -0
  25. package/dist/node_modules/hono/dist/adapter/deno/index.js +3 -10
  26. package/dist/node_modules/hono/dist/adapter/deno/serve-static.js +33 -38
  27. package/dist/node_modules/hono/dist/adapter/deno/ssg.js +27 -16
  28. package/dist/node_modules/hono/dist/adapter/deno/websocket.js +30 -30
  29. package/dist/node_modules/hono/dist/adapter/lambda-edge/conninfo.js +7 -9
  30. package/dist/node_modules/hono/dist/adapter/lambda-edge/handler.js +102 -87
  31. package/dist/node_modules/hono/dist/adapter/lambda-edge/index.js +2 -6
  32. package/dist/node_modules/hono/dist/adapter/netlify/conninfo.js +24 -9
  33. package/dist/node_modules/hono/dist/adapter/netlify/handler.js +10 -8
  34. package/dist/node_modules/hono/dist/adapter/netlify/index.js +3 -2
  35. package/dist/node_modules/hono/dist/adapter/netlify/mod.js +2 -6
  36. package/dist/node_modules/hono/dist/adapter/service-worker/handler.js +15 -19
  37. package/dist/node_modules/hono/dist/adapter/service-worker/index.js +23 -7
  38. package/dist/node_modules/hono/dist/adapter/service-worker/types.js +1 -0
  39. package/dist/node_modules/hono/dist/adapter/vercel/conninfo.js +7 -10
  40. package/dist/node_modules/hono/dist/adapter/vercel/handler.js +8 -6
  41. package/dist/node_modules/hono/dist/adapter/vercel/index.js +2 -6
  42. package/dist/node_modules/hono/dist/cjs/_virtual/_rolldown/runtime.js +33 -0
  43. package/dist/node_modules/hono/dist/cjs/adapter/aws-lambda/conninfo.js +42 -44
  44. package/dist/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +328 -371
  45. package/dist/node_modules/hono/dist/cjs/adapter/aws-lambda/index.js +7 -34
  46. package/dist/node_modules/hono/dist/cjs/adapter/aws-lambda/types.js +0 -15
  47. package/dist/node_modules/hono/dist/cjs/adapter/bun/conninfo.js +21 -47
  48. package/dist/node_modules/hono/dist/cjs/adapter/bun/index.js +14 -45
  49. package/dist/node_modules/hono/dist/cjs/adapter/bun/serve-static.js +29 -50
  50. package/dist/node_modules/hono/dist/cjs/adapter/bun/server.js +11 -26
  51. package/dist/node_modules/hono/dist/cjs/adapter/bun/ssg.js +24 -35
  52. package/dist/node_modules/hono/dist/cjs/adapter/bun/websocket.js +63 -91
  53. package/dist/node_modules/hono/dist/cjs/adapter/cloudflare-pages/conninfo.js +25 -31
  54. package/dist/node_modules/hono/dist/cjs/adapter/cloudflare-pages/handler.js +61 -85
  55. package/dist/node_modules/hono/dist/cjs/adapter/cloudflare-pages/index.js +7 -34
  56. package/dist/node_modules/hono/dist/cjs/adapter/cloudflare-workers/conninfo.js +8 -31
  57. package/dist/node_modules/hono/dist/cjs/adapter/cloudflare-workers/index.js +7 -33
  58. package/dist/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +7 -29
  59. package/dist/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static.js +27 -42
  60. package/dist/node_modules/hono/dist/cjs/adapter/cloudflare-workers/utils.js +21 -55
  61. package/dist/node_modules/hono/dist/cjs/adapter/cloudflare-workers/websocket.js +33 -62
  62. package/dist/node_modules/hono/dist/cjs/adapter/deno/conninfo.js +16 -34
  63. package/dist/node_modules/hono/dist/cjs/adapter/deno/index.js +10 -38
  64. package/dist/node_modules/hono/dist/cjs/adapter/deno/serve-static.js +33 -59
  65. package/dist/node_modules/hono/dist/cjs/adapter/deno/ssg.js +27 -37
  66. package/dist/node_modules/hono/dist/cjs/adapter/deno/websocket.js +32 -53
  67. package/dist/node_modules/hono/dist/cjs/adapter/lambda-edge/conninfo.js +8 -31
  68. package/dist/node_modules/hono/dist/cjs/adapter/lambda-edge/handler.js +105 -119
  69. package/dist/node_modules/hono/dist/cjs/adapter/lambda-edge/index.js +5 -30
  70. package/dist/node_modules/hono/dist/cjs/adapter/netlify/conninfo.js +25 -31
  71. package/dist/node_modules/hono/dist/cjs/adapter/netlify/handler.js +10 -29
  72. package/dist/node_modules/hono/dist/cjs/adapter/netlify/index.js +5 -21
  73. package/dist/node_modules/hono/dist/cjs/adapter/netlify/mod.js +5 -30
  74. package/dist/node_modules/hono/dist/cjs/adapter/service-worker/handler.js +16 -41
  75. package/dist/node_modules/hono/dist/cjs/adapter/service-worker/index.js +25 -30
  76. package/dist/node_modules/hono/dist/cjs/adapter/service-worker/types.js +0 -15
  77. package/dist/node_modules/hono/dist/cjs/adapter/vercel/conninfo.js +8 -32
  78. package/dist/node_modules/hono/dist/cjs/adapter/vercel/handler.js +8 -27
  79. package/dist/node_modules/hono/dist/cjs/adapter/vercel/index.js +5 -30
  80. package/dist/node_modules/hono/dist/cjs/client/client.js +139 -212
  81. package/dist/node_modules/hono/dist/cjs/client/fetch-result-please.js +62 -80
  82. package/dist/node_modules/hono/dist/cjs/client/index.js +7 -32
  83. package/dist/node_modules/hono/dist/cjs/client/types.js +0 -15
  84. package/dist/node_modules/hono/dist/cjs/client/utils.js +54 -92
  85. package/dist/node_modules/hono/dist/cjs/compose.js +49 -66
  86. package/dist/node_modules/hono/dist/cjs/context.js +379 -450
  87. package/dist/node_modules/hono/dist/cjs/helper/accepts/accepts.js +47 -70
  88. package/dist/node_modules/hono/dist/cjs/helper/accepts/index.js +3 -27
  89. package/dist/node_modules/hono/dist/cjs/helper/adapter/index.js +33 -73
  90. package/dist/node_modules/hono/dist/cjs/helper/conninfo/index.js +0 -15
  91. package/dist/node_modules/hono/dist/cjs/helper/conninfo/types.js +0 -15
  92. package/dist/node_modules/hono/dist/cjs/helper/cookie/index.js +75 -116
  93. package/dist/node_modules/hono/dist/cjs/helper/css/common.js +165 -244
  94. package/dist/node_modules/hono/dist/cjs/helper/css/index.js +136 -151
  95. package/dist/node_modules/hono/dist/cjs/helper/dev/index.js +45 -71
  96. package/dist/node_modules/hono/dist/cjs/helper/factory/index.js +30 -51
  97. package/dist/node_modules/hono/dist/cjs/helper/html/index.js +32 -62
  98. package/dist/node_modules/hono/dist/cjs/helper/proxy/index.js +113 -106
  99. package/dist/node_modules/hono/dist/cjs/helper/route/index.js +123 -66
  100. package/dist/node_modules/hono/dist/cjs/helper/ssg/index.js +19 -43
  101. package/dist/node_modules/hono/dist/cjs/helper/ssg/middleware.js +56 -64
  102. package/dist/node_modules/hono/dist/cjs/helper/ssg/plugins.js +55 -57
  103. package/dist/node_modules/hono/dist/cjs/helper/ssg/ssg.js +196 -296
  104. package/dist/node_modules/hono/dist/cjs/helper/ssg/utils.js +47 -90
  105. package/dist/node_modules/hono/dist/cjs/helper/streaming/index.js +8 -35
  106. package/dist/node_modules/hono/dist/cjs/helper/streaming/sse.js +53 -85
  107. package/dist/node_modules/hono/dist/cjs/helper/streaming/stream.js +23 -53
  108. package/dist/node_modules/hono/dist/cjs/helper/streaming/text.js +10 -32
  109. package/dist/node_modules/hono/dist/cjs/helper/streaming/utils.js +13 -32
  110. package/dist/node_modules/hono/dist/cjs/helper/testing/index.js +16 -31
  111. package/dist/node_modules/hono/dist/cjs/helper/websocket/index.js +51 -76
  112. package/dist/node_modules/hono/dist/cjs/hono-base.js +347 -402
  113. package/dist/node_modules/hono/dist/cjs/hono.js +28 -42
  114. package/dist/node_modules/hono/dist/cjs/http-exception.js +55 -56
  115. package/dist/node_modules/hono/dist/cjs/index.js +22 -30
  116. package/dist/node_modules/hono/dist/cjs/jsx/base.js +241 -353
  117. package/dist/node_modules/hono/dist/cjs/jsx/children.js +16 -41
  118. package/dist/node_modules/hono/dist/cjs/jsx/components.js +120 -194
  119. package/dist/node_modules/hono/dist/cjs/jsx/constants.js +15 -42
  120. package/dist/node_modules/hono/dist/cjs/jsx/context.js +144 -162
  121. package/dist/node_modules/hono/dist/cjs/jsx/dom/client.js +49 -69
  122. package/dist/node_modules/hono/dist/cjs/jsx/dom/components.js +23 -52
  123. package/dist/node_modules/hono/dist/cjs/jsx/dom/context.js +39 -67
  124. package/dist/node_modules/hono/dist/cjs/jsx/dom/css.js +143 -158
  125. package/dist/node_modules/hono/dist/cjs/jsx/dom/hooks/index.js +55 -64
  126. package/dist/node_modules/hono/dist/cjs/jsx/dom/index.js +114 -173
  127. package/dist/node_modules/hono/dist/cjs/jsx/dom/intrinsic-element/components.js +282 -375
  128. package/dist/node_modules/hono/dist/cjs/jsx/dom/jsx-dev-runtime.js +14 -49
  129. package/dist/node_modules/hono/dist/cjs/jsx/dom/jsx-runtime.js +5 -32
  130. package/dist/node_modules/hono/dist/cjs/jsx/dom/render.js +471 -589
  131. package/dist/node_modules/hono/dist/cjs/jsx/dom/server.js +37 -60
  132. package/dist/node_modules/hono/dist/cjs/jsx/dom/utils.js +7 -30
  133. package/dist/node_modules/hono/dist/cjs/jsx/hooks/index.js +225 -318
  134. package/dist/node_modules/hono/dist/cjs/jsx/index.js +86 -135
  135. package/dist/node_modules/hono/dist/cjs/jsx/intrinsic-element/common.js +20 -43
  136. package/dist/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js +117 -168
  137. package/dist/node_modules/hono/dist/cjs/jsx/intrinsic-elements.js +0 -15
  138. package/dist/node_modules/hono/dist/cjs/jsx/jsx-dev-runtime.js +14 -39
  139. package/dist/node_modules/hono/dist/cjs/jsx/jsx-runtime.js +34 -68
  140. package/dist/node_modules/hono/dist/cjs/jsx/streaming.js +123 -167
  141. package/dist/node_modules/hono/dist/cjs/jsx/types.js +0 -15
  142. package/dist/node_modules/hono/dist/cjs/jsx/utils.js +91 -175
  143. package/dist/node_modules/hono/dist/cjs/middleware/basic-auth/index.js +98 -86
  144. package/dist/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +92 -109
  145. package/dist/node_modules/hono/dist/cjs/middleware/body-limit/index.js +66 -72
  146. package/dist/node_modules/hono/dist/cjs/middleware/cache/index.js +153 -199
  147. package/dist/node_modules/hono/dist/cjs/middleware/combine/index.js +135 -95
  148. package/dist/node_modules/hono/dist/cjs/middleware/compress/index.js +73 -88
  149. package/dist/node_modules/hono/dist/cjs/middleware/context-storage/index.js +49 -41
  150. package/dist/node_modules/hono/dist/cjs/middleware/cors/index.js +107 -107
  151. package/dist/node_modules/hono/dist/cjs/middleware/csrf/index.js +101 -72
  152. package/dist/node_modules/hono/dist/cjs/middleware/etag/digest.js +58 -97
  153. package/dist/node_modules/hono/dist/cjs/middleware/etag/index.js +71 -91
  154. package/dist/node_modules/hono/dist/cjs/middleware/ip-restriction/index.js +161 -169
  155. package/dist/node_modules/hono/dist/cjs/middleware/jsx-renderer/index.js +99 -77
  156. package/dist/node_modules/hono/dist/cjs/middleware/jwk/index.js +3 -27
  157. package/dist/node_modules/hono/dist/cjs/middleware/jwk/jwk.js +118 -135
  158. package/dist/node_modules/hono/dist/cjs/middleware/jwt/index.js +9 -38
  159. package/dist/node_modules/hono/dist/cjs/middleware/jwt/jwt.js +120 -141
  160. package/dist/node_modules/hono/dist/cjs/middleware/language/index.js +7 -35
  161. package/dist/node_modules/hono/dist/cjs/middleware/language/language.js +184 -179
  162. package/dist/node_modules/hono/dist/cjs/middleware/logger/index.js +41 -62
  163. package/dist/node_modules/hono/dist/cjs/middleware/method-not-allowed/index.js +82 -88
  164. package/dist/node_modules/hono/dist/cjs/middleware/method-override/index.js +101 -102
  165. package/dist/node_modules/hono/dist/cjs/middleware/mount/index.js +71 -0
  166. package/dist/node_modules/hono/dist/cjs/middleware/powered-by/index.js +23 -30
  167. package/dist/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +38 -36
  168. package/dist/node_modules/hono/dist/cjs/middleware/request-id/index.js +3 -27
  169. package/dist/node_modules/hono/dist/cjs/middleware/request-id/request-id.js +34 -42
  170. package/dist/node_modules/hono/dist/cjs/middleware/secure-headers/index.js +4 -29
  171. package/dist/node_modules/hono/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -15
  172. package/dist/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js +142 -174
  173. package/dist/node_modules/hono/dist/cjs/middleware/serve-static/index.js +56 -93
  174. package/dist/node_modules/hono/dist/cjs/middleware/serve-static/path.js +15 -38
  175. package/dist/node_modules/hono/dist/cjs/middleware/timeout/index.js +40 -45
  176. package/dist/node_modules/hono/dist/cjs/middleware/timing/index.js +7 -35
  177. package/dist/node_modules/hono/dist/cjs/middleware/timing/timing.js +177 -118
  178. package/dist/node_modules/hono/dist/cjs/middleware/trailing-slash/index.js +85 -58
  179. package/dist/node_modules/hono/dist/cjs/preset/quick.js +18 -37
  180. package/dist/node_modules/hono/dist/cjs/preset/tiny.js +15 -33
  181. package/dist/node_modules/hono/dist/cjs/request/constants.js +5 -27
  182. package/dist/node_modules/hono/dist/cjs/request.js +334 -343
  183. package/dist/node_modules/hono/dist/cjs/router/linear-router/index.js +3 -27
  184. package/dist/node_modules/hono/dist/cjs/router/linear-router/router.js +95 -143
  185. package/dist/node_modules/hono/dist/cjs/router/pattern-router/index.js +3 -27
  186. package/dist/node_modules/hono/dist/cjs/router/pattern-router/router.js +41 -63
  187. package/dist/node_modules/hono/dist/cjs/router/reg-exp-router/index.js +7 -34
  188. package/dist/node_modules/hono/dist/cjs/router/reg-exp-router/matcher.js +18 -45
  189. package/dist/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +91 -135
  190. package/dist/node_modules/hono/dist/cjs/router/reg-exp-router/prepared-router.js +92 -161
  191. package/dist/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +98 -147
  192. package/dist/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +73 -89
  193. package/dist/node_modules/hono/dist/cjs/router/smart-router/index.js +3 -27
  194. package/dist/node_modules/hono/dist/cjs/router/smart-router/router.js +49 -79
  195. package/dist/node_modules/hono/dist/cjs/router/trie-router/index.js +3 -27
  196. package/dist/node_modules/hono/dist/cjs/router/trie-router/node.js +134 -186
  197. package/dist/node_modules/hono/dist/cjs/router/trie-router/router.js +15 -39
  198. package/dist/node_modules/hono/dist/cjs/router/utils.js +5 -27
  199. package/dist/node_modules/hono/dist/cjs/router.js +37 -37
  200. package/dist/node_modules/hono/dist/cjs/types.js +5 -28
  201. package/dist/node_modules/hono/dist/cjs/utils/accept.js +177 -228
  202. package/dist/node_modules/hono/dist/cjs/utils/basic-auth.js +16 -40
  203. package/dist/node_modules/hono/dist/cjs/utils/body.js +84 -110
  204. package/dist/node_modules/hono/dist/cjs/utils/buffer.js +43 -91
  205. package/dist/node_modules/hono/dist/cjs/utils/color.js +35 -44
  206. package/dist/node_modules/hono/dist/cjs/utils/compress.js +11 -26
  207. package/dist/node_modules/hono/dist/cjs/utils/concurrent.js +29 -59
  208. package/dist/node_modules/hono/dist/cjs/utils/constants.js +7 -26
  209. package/dist/node_modules/hono/dist/cjs/utils/cookie.js +107 -177
  210. package/dist/node_modules/hono/dist/cjs/utils/crypto.js +30 -61
  211. package/dist/node_modules/hono/dist/cjs/utils/encode.js +31 -48
  212. package/dist/node_modules/hono/dist/cjs/utils/filepath.js +23 -54
  213. package/dist/node_modules/hono/dist/cjs/utils/handler.js +11 -33
  214. package/dist/node_modules/hono/dist/cjs/utils/headers.js +0 -15
  215. package/dist/node_modules/hono/dist/cjs/utils/html.js +96 -137
  216. package/dist/node_modules/hono/dist/cjs/utils/http-status.js +0 -15
  217. package/dist/node_modules/hono/dist/cjs/utils/ipaddr.js +213 -286
  218. package/dist/node_modules/hono/dist/cjs/utils/jwt/index.js +14 -27
  219. package/dist/node_modules/hono/dist/cjs/utils/jwt/jwa.js +25 -42
  220. package/dist/node_modules/hono/dist/cjs/utils/jwt/jws.js +119 -199
  221. package/dist/node_modules/hono/dist/cjs/utils/jwt/jwt.js +122 -205
  222. package/dist/node_modules/hono/dist/cjs/utils/jwt/types.js +122 -159
  223. package/dist/node_modules/hono/dist/cjs/utils/jwt/utf8.js +9 -28
  224. package/dist/node_modules/hono/dist/cjs/utils/mime.js +75 -101
  225. package/dist/node_modules/hono/dist/cjs/utils/stream.js +88 -111
  226. package/dist/node_modules/hono/dist/cjs/utils/types.js +0 -15
  227. package/dist/node_modules/hono/dist/cjs/utils/url.js +185 -234
  228. package/dist/node_modules/hono/dist/cjs/validator/index.js +3 -27
  229. package/dist/node_modules/hono/dist/cjs/validator/utils.js +0 -15
  230. package/dist/node_modules/hono/dist/cjs/validator/validator.js +60 -103
  231. package/dist/node_modules/hono/dist/client/client.js +138 -197
  232. package/dist/node_modules/hono/dist/client/fetch-result-please.js +59 -56
  233. package/dist/node_modules/hono/dist/client/index.js +3 -7
  234. package/dist/node_modules/hono/dist/client/types.js +1 -0
  235. package/dist/node_modules/hono/dist/client/utils.js +51 -68
  236. package/dist/node_modules/hono/dist/compose.js +49 -45
  237. package/dist/node_modules/hono/dist/context.js +376 -426
  238. package/dist/node_modules/hono/dist/helper/accepts/accepts.js +47 -49
  239. package/dist/node_modules/hono/dist/helper/accepts/index.js +1 -4
  240. package/dist/node_modules/hono/dist/helper/adapter/index.js +33 -52
  241. package/dist/node_modules/hono/dist/helper/conninfo/index.js +1 -0
  242. package/dist/node_modules/hono/dist/helper/conninfo/types.js +1 -0
  243. package/dist/node_modules/hono/dist/helper/cookie/index.js +74 -94
  244. package/dist/node_modules/hono/dist/helper/css/common.js +167 -225
  245. package/dist/node_modules/hono/dist/helper/css/index.js +132 -137
  246. package/dist/node_modules/hono/dist/helper/dev/index.js +44 -49
  247. package/dist/node_modules/hono/dist/helper/factory/index.js +27 -27
  248. package/dist/node_modules/hono/dist/helper/html/index.js +30 -39
  249. package/dist/node_modules/hono/dist/helper/proxy/index.js +116 -88
  250. package/dist/node_modules/hono/dist/helper/route/index.js +121 -43
  251. package/dist/node_modules/hono/dist/helper/ssg/index.js +3 -18
  252. package/dist/node_modules/hono/dist/helper/ssg/middleware.js +53 -40
  253. package/dist/node_modules/hono/dist/helper/ssg/plugins.js +55 -36
  254. package/dist/node_modules/hono/dist/helper/ssg/ssg.js +198 -283
  255. package/dist/node_modules/hono/dist/helper/ssg/utils.js +53 -75
  256. package/dist/node_modules/hono/dist/helper/streaming/index.js +2 -8
  257. package/dist/node_modules/hono/dist/helper/streaming/sse.js +50 -61
  258. package/dist/node_modules/hono/dist/helper/streaming/stream.js +22 -31
  259. package/dist/node_modules/hono/dist/helper/streaming/text.js +9 -10
  260. package/dist/node_modules/hono/dist/helper/streaming/utils.js +9 -12
  261. package/dist/node_modules/hono/dist/helper/testing/index.js +16 -10
  262. package/dist/node_modules/hono/dist/helper/websocket/index.js +49 -53
  263. package/dist/node_modules/hono/dist/hono-base.js +344 -378
  264. package/dist/node_modules/hono/dist/hono.js +27 -20
  265. package/dist/node_modules/hono/dist/http-exception.js +53 -33
  266. package/dist/node_modules/hono/dist/index.js +19 -6
  267. package/dist/node_modules/hono/dist/jsx/base.js +233 -328
  268. package/dist/node_modules/hono/dist/jsx/children.js +16 -20
  269. package/dist/node_modules/hono/dist/jsx/components.js +118 -171
  270. package/dist/node_modules/hono/dist/jsx/constants.js +9 -15
  271. package/dist/node_modules/hono/dist/jsx/context.js +153 -150
  272. package/dist/node_modules/hono/dist/jsx/dom/client.js +45 -48
  273. package/dist/node_modules/hono/dist/jsx/dom/components.js +21 -29
  274. package/dist/node_modules/hono/dist/jsx/dom/context.js +37 -44
  275. package/dist/node_modules/hono/dist/jsx/dom/css.js +142 -147
  276. package/dist/node_modules/hono/dist/jsx/dom/hooks/index.js +52 -40
  277. package/dist/node_modules/hono/dist/jsx/dom/index.js +71 -134
  278. package/dist/node_modules/hono/dist/jsx/dom/intrinsic-element/components.js +275 -359
  279. package/dist/node_modules/hono/dist/jsx/dom/jsx-dev-runtime.js +14 -18
  280. package/dist/node_modules/hono/dist/jsx/dom/jsx-runtime.js +2 -8
  281. package/dist/node_modules/hono/dist/jsx/dom/render.js +492 -595
  282. package/dist/node_modules/hono/dist/jsx/dom/server.js +33 -29
  283. package/dist/node_modules/hono/dist/jsx/dom/utils.js +6 -8
  284. package/dist/node_modules/hono/dist/jsx/hooks/index.js +236 -308
  285. package/dist/node_modules/hono/dist/jsx/index.js +45 -98
  286. package/dist/node_modules/hono/dist/jsx/intrinsic-element/common.js +20 -22
  287. package/dist/node_modules/hono/dist/jsx/intrinsic-element/components.js +113 -154
  288. package/dist/node_modules/hono/dist/jsx/intrinsic-elements.js +1 -0
  289. package/dist/node_modules/hono/dist/jsx/jsx-dev-runtime.js +12 -16
  290. package/dist/node_modules/hono/dist/jsx/jsx-runtime.js +29 -42
  291. package/dist/node_modules/hono/dist/jsx/streaming.js +120 -143
  292. package/dist/node_modules/hono/dist/jsx/types.js +1 -0
  293. package/dist/node_modules/hono/dist/jsx/utils.js +105 -168
  294. package/dist/node_modules/hono/dist/middleware/basic-auth/index.js +96 -63
  295. package/dist/node_modules/hono/dist/middleware/bearer-auth/index.js +93 -89
  296. package/dist/node_modules/hono/dist/middleware/body-limit/index.js +66 -51
  297. package/dist/node_modules/hono/dist/middleware/cache/index.js +165 -190
  298. package/dist/node_modules/hono/dist/middleware/combine/index.js +134 -73
  299. package/dist/node_modules/hono/dist/middleware/compress/index.js +75 -69
  300. package/dist/node_modules/hono/dist/middleware/context-storage/index.js +49 -19
  301. package/dist/node_modules/hono/dist/middleware/cors/index.js +107 -86
  302. package/dist/node_modules/hono/dist/middleware/csrf/index.js +103 -53
  303. package/dist/node_modules/hono/dist/middleware/etag/digest.js +59 -77
  304. package/dist/node_modules/hono/dist/middleware/etag/index.js +71 -70
  305. package/dist/node_modules/hono/dist/middleware/ip-restriction/index.js +163 -158
  306. package/dist/node_modules/hono/dist/middleware/jsx-renderer/index.js +97 -54
  307. package/dist/node_modules/hono/dist/middleware/jwk/index.js +1 -4
  308. package/dist/node_modules/hono/dist/middleware/jwk/jwk.js +116 -112
  309. package/dist/node_modules/hono/dist/middleware/jwt/index.js +2 -10
  310. package/dist/node_modules/hono/dist/middleware/jwt/jwt.js +114 -114
  311. package/dist/node_modules/hono/dist/middleware/language/index.js +2 -15
  312. package/dist/node_modules/hono/dist/middleware/language/language.js +180 -154
  313. package/dist/node_modules/hono/dist/middleware/logger/index.js +43 -37
  314. package/dist/node_modules/hono/dist/middleware/method-not-allowed/index.js +81 -66
  315. package/dist/node_modules/hono/dist/middleware/method-override/index.js +101 -81
  316. package/dist/node_modules/hono/dist/middleware/mount/index.js +70 -0
  317. package/dist/node_modules/hono/dist/middleware/powered-by/index.js +23 -9
  318. package/dist/node_modules/hono/dist/middleware/pretty-json/index.js +39 -16
  319. package/dist/node_modules/hono/dist/middleware/request-id/index.js +1 -4
  320. package/dist/node_modules/hono/dist/middleware/request-id/request-id.js +33 -20
  321. package/dist/node_modules/hono/dist/middleware/secure-headers/index.js +1 -5
  322. package/dist/node_modules/hono/dist/middleware/secure-headers/permissions-policy.js +1 -0
  323. package/dist/node_modules/hono/dist/middleware/secure-headers/secure-headers.js +144 -155
  324. package/dist/node_modules/hono/dist/middleware/serve-static/index.js +56 -72
  325. package/dist/node_modules/hono/dist/middleware/serve-static/path.js +15 -17
  326. package/dist/node_modules/hono/dist/middleware/timeout/index.js +40 -23
  327. package/dist/node_modules/hono/dist/middleware/timing/index.js +2 -9
  328. package/dist/node_modules/hono/dist/middleware/timing/timing.js +177 -97
  329. package/dist/node_modules/hono/dist/middleware/trailing-slash/index.js +85 -37
  330. package/dist/node_modules/hono/dist/preset/quick.js +17 -15
  331. package/dist/node_modules/hono/dist/preset/tiny.js +14 -11
  332. package/dist/node_modules/hono/dist/request/constants.js +4 -5
  333. package/dist/node_modules/hono/dist/request.js +328 -316
  334. package/dist/node_modules/hono/dist/router/linear-router/index.js +1 -4
  335. package/dist/node_modules/hono/dist/router/linear-router/router.js +93 -120
  336. package/dist/node_modules/hono/dist/router/pattern-router/index.js +1 -4
  337. package/dist/node_modules/hono/dist/router/pattern-router/router.js +39 -40
  338. package/dist/node_modules/hono/dist/router/reg-exp-router/index.js +1 -7
  339. package/dist/node_modules/hono/dist/router/reg-exp-router/matcher.js +17 -23
  340. package/dist/node_modules/hono/dist/router/reg-exp-router/node.js +87 -110
  341. package/dist/node_modules/hono/dist/router/reg-exp-router/prepared-router.js +89 -137
  342. package/dist/node_modules/hono/dist/router/reg-exp-router/router.js +92 -129
  343. package/dist/node_modules/hono/dist/router/reg-exp-router/trie.js +69 -64
  344. package/dist/node_modules/hono/dist/router/smart-router/index.js +1 -4
  345. package/dist/node_modules/hono/dist/router/smart-router/router.js +46 -55
  346. package/dist/node_modules/hono/dist/router/trie-router/index.js +1 -4
  347. package/dist/node_modules/hono/dist/router/trie-router/node.js +131 -162
  348. package/dist/node_modules/hono/dist/router/trie-router/router.js +11 -14
  349. package/dist/node_modules/hono/dist/router/utils.js +4 -5
  350. package/dist/node_modules/hono/dist/router.js +35 -14
  351. package/dist/node_modules/hono/dist/types/adapter/aws-lambda/conninfo.d.ts +4 -1
  352. package/dist/node_modules/hono/dist/types/adapter/aws-lambda/handler.d.ts +150 -104
  353. package/dist/node_modules/hono/dist/types/adapter/aws-lambda/index.d.ts +4 -8
  354. package/dist/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +152 -122
  355. package/dist/node_modules/hono/dist/types/adapter/bun/conninfo.d.ts +4 -1
  356. package/dist/node_modules/hono/dist/types/adapter/bun/index.d.ts +6 -10
  357. package/dist/node_modules/hono/dist/types/adapter/bun/serve-static.d.ts +7 -2
  358. package/dist/node_modules/hono/dist/types/adapter/bun/server.d.ts +4 -5
  359. package/dist/node_modules/hono/dist/types/adapter/bun/ssg.d.ts +5 -1
  360. package/dist/node_modules/hono/dist/types/adapter/bun/websocket.d.ts +31 -16
  361. package/dist/node_modules/hono/dist/types/adapter/cloudflare-pages/conninfo.d.ts +4 -1
  362. package/dist/node_modules/hono/dist/types/adapter/cloudflare-pages/handler.d.ts +29 -17
  363. package/dist/node_modules/hono/dist/types/adapter/cloudflare-pages/index.d.ts +3 -7
  364. package/dist/node_modules/hono/dist/types/adapter/cloudflare-workers/conninfo.d.ts +6 -1
  365. package/dist/node_modules/hono/dist/types/adapter/cloudflare-workers/index.d.ts +4 -7
  366. package/dist/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +5 -2
  367. package/dist/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static.d.ts +10 -5
  368. package/dist/node_modules/hono/dist/types/adapter/cloudflare-workers/utils.d.ts +10 -2
  369. package/dist/node_modules/hono/dist/types/adapter/cloudflare-workers/websocket.d.ts +6 -1
  370. package/dist/node_modules/hono/dist/types/adapter/deno/conninfo.d.ts +4 -1
  371. package/dist/node_modules/hono/dist/types/adapter/deno/deno.d.ts +1 -0
  372. package/dist/node_modules/hono/dist/types/adapter/deno/index.d.ts +5 -8
  373. package/dist/node_modules/hono/dist/types/adapter/deno/serve-static.d.ts +7 -2
  374. package/dist/node_modules/hono/dist/types/adapter/deno/ssg.d.ts +5 -1
  375. package/dist/node_modules/hono/dist/types/adapter/deno/websocket.d.ts +6 -1
  376. package/dist/node_modules/hono/dist/types/adapter/lambda-edge/conninfo.d.ts +6 -1
  377. package/dist/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts +83 -57
  378. package/dist/node_modules/hono/dist/types/adapter/lambda-edge/index.d.ts +3 -7
  379. package/dist/node_modules/hono/dist/types/adapter/netlify/conninfo.d.ts +4 -1
  380. package/dist/node_modules/hono/dist/types/adapter/netlify/handler.d.ts +6 -1
  381. package/dist/node_modules/hono/dist/types/adapter/netlify/index.d.ts +3 -5
  382. package/dist/node_modules/hono/dist/types/adapter/netlify/mod.d.ts +3 -2
  383. package/dist/node_modules/hono/dist/types/adapter/service-worker/handler.d.ts +9 -7
  384. package/dist/node_modules/hono/dist/types/adapter/service-worker/index.d.ts +7 -9
  385. package/dist/node_modules/hono/dist/types/adapter/service-worker/types.d.ts +12 -7
  386. package/dist/node_modules/hono/dist/types/adapter/vercel/conninfo.d.ts +6 -1
  387. package/dist/node_modules/hono/dist/types/adapter/vercel/handler.d.ts +6 -1
  388. package/dist/node_modules/hono/dist/types/adapter/vercel/index.d.ts +3 -6
  389. package/dist/node_modules/hono/dist/types/client/client.d.ts +5 -3
  390. package/dist/node_modules/hono/dist/types/client/fetch-result-please.d.ts +21 -19
  391. package/dist/node_modules/hono/dist/types/client/index.d.ts +5 -7
  392. package/dist/node_modules/hono/dist/types/client/types.d.ts +134 -159
  393. package/dist/node_modules/hono/dist/types/client/utils.d.ts +6 -4
  394. package/dist/node_modules/hono/dist/types/compose.d.ts +4 -2
  395. package/dist/node_modules/hono/dist/types/context.d.ts +335 -335
  396. package/dist/node_modules/hono/dist/types/helper/accepts/accepts.d.ts +11 -9
  397. package/dist/node_modules/hono/dist/types/helper/accepts/index.d.ts +2 -5
  398. package/dist/node_modules/hono/dist/types/helper/adapter/index.d.ts +4 -6
  399. package/dist/node_modules/hono/dist/types/helper/conninfo/index.d.ts +2 -5
  400. package/dist/node_modules/hono/dist/types/helper/conninfo/types.d.ts +25 -23
  401. package/dist/node_modules/hono/dist/types/helper/cookie/index.d.ts +10 -12
  402. package/dist/node_modules/hono/dist/types/helper/css/common.d.ts +11 -9
  403. package/dist/node_modules/hono/dist/types/helper/css/index.d.ts +26 -28
  404. package/dist/node_modules/hono/dist/types/helper/dev/index.d.ts +10 -12
  405. package/dist/node_modules/hono/dist/types/helper/factory/index.d.ts +26 -73
  406. package/dist/node_modules/hono/dist/types/helper/html/index.d.ts +4 -7
  407. package/dist/node_modules/hono/dist/types/helper/proxy/index.d.ts +20 -22
  408. package/dist/node_modules/hono/dist/types/helper/route/index.d.ts +6 -4
  409. package/dist/node_modules/hono/dist/types/helper/ssg/index.d.ts +4 -7
  410. package/dist/node_modules/hono/dist/types/helper/ssg/middleware.d.ts +8 -6
  411. package/dist/node_modules/hono/dist/types/helper/ssg/plugins.d.ts +3 -1
  412. package/dist/node_modules/hono/dist/types/helper/ssg/ssg.d.ts +38 -36
  413. package/dist/node_modules/hono/dist/types/helper/ssg/utils.d.ts +5 -3
  414. package/dist/node_modules/hono/dist/types/helper/streaming/index.d.ts +4 -8
  415. package/dist/node_modules/hono/dist/types/helper/streaming/sse.d.ts +10 -8
  416. package/dist/node_modules/hono/dist/types/helper/streaming/stream.d.ts +4 -2
  417. package/dist/node_modules/hono/dist/types/helper/streaming/text.d.ts +4 -2
  418. package/dist/node_modules/hono/dist/types/helper/streaming/utils.d.ts +2 -0
  419. package/dist/node_modules/hono/dist/types/helper/testing/index.d.ts +7 -9
  420. package/dist/node_modules/hono/dist/types/helper/websocket/index.d.ts +30 -33
  421. package/dist/node_modules/hono/dist/types/hono-base.d.ts +210 -210
  422. package/dist/node_modules/hono/dist/types/hono.d.ts +11 -10
  423. package/dist/node_modules/hono/dist/types/http-exception.d.ts +20 -22
  424. package/dist/node_modules/hono/dist/types/index.d.ts +6 -37
  425. package/dist/node_modules/hono/dist/types/jsx/base.d.ts +40 -35
  426. package/dist/node_modules/hono/dist/types/jsx/children.d.ts +8 -6
  427. package/dist/node_modules/hono/dist/types/jsx/components.d.ts +8 -5
  428. package/dist/node_modules/hono/dist/types/jsx/constants.d.ts +2 -0
  429. package/dist/node_modules/hono/dist/types/jsx/context.d.ts +9 -6
  430. package/dist/node_modules/hono/dist/types/jsx/dom/client.d.ts +9 -10
  431. package/dist/node_modules/hono/dist/types/jsx/dom/components.d.ts +9 -6
  432. package/dist/node_modules/hono/dist/types/jsx/dom/context.d.ts +3 -1
  433. package/dist/node_modules/hono/dist/types/jsx/dom/css.d.ts +27 -30
  434. package/dist/node_modules/hono/dist/types/jsx/dom/hooks/index.d.ts +11 -12
  435. package/dist/node_modules/hono/dist/types/jsx/dom/index.d.ts +79 -83
  436. package/dist/node_modules/hono/dist/types/jsx/dom/intrinsic-element/components.d.ts +9 -5
  437. package/dist/node_modules/hono/dist/types/jsx/dom/jsx-dev-runtime.d.ts +4 -6
  438. package/dist/node_modules/hono/dist/types/jsx/dom/jsx-runtime.d.ts +3 -7
  439. package/dist/node_modules/hono/dist/types/jsx/dom/render.d.ts +32 -50
  440. package/dist/node_modules/hono/dist/types/jsx/dom/server.d.ts +87 -85
  441. package/dist/node_modules/hono/dist/types/jsx/dom/utils.d.ts +2 -0
  442. package/dist/node_modules/hono/dist/types/jsx/hooks/index.d.ts +16 -16
  443. package/dist/node_modules/hono/dist/types/jsx/index.d.ts +71 -73
  444. package/dist/node_modules/hono/dist/types/jsx/intrinsic-element/common.d.ts +3 -1
  445. package/dist/node_modules/hono/dist/types/jsx/intrinsic-element/components.d.ts +7 -4
  446. package/dist/node_modules/hono/dist/types/jsx/intrinsic-elements.d.ts +708 -708
  447. package/dist/node_modules/hono/dist/types/jsx/jsx-dev-runtime.d.ts +4 -7
  448. package/dist/node_modules/hono/dist/types/jsx/jsx-runtime.d.ts +7 -10
  449. package/dist/node_modules/hono/dist/types/jsx/streaming.d.ts +9 -10
  450. package/dist/node_modules/hono/dist/types/jsx/types.d.ts +12 -13
  451. package/dist/node_modules/hono/dist/types/jsx/utils.d.ts +2 -0
  452. package/dist/node_modules/hono/dist/types/middleware/basic-auth/index.d.ts +17 -19
  453. package/dist/node_modules/hono/dist/types/middleware/bearer-auth/index.d.ts +46 -48
  454. package/dist/node_modules/hono/dist/types/middleware/body-limit/index.d.ts +6 -8
  455. package/dist/node_modules/hono/dist/types/middleware/cache/index.d.ts +13 -15
  456. package/dist/node_modules/hono/dist/types/middleware/combine/index.d.ts +7 -7
  457. package/dist/node_modules/hono/dist/types/middleware/compress/index.d.ts +9 -10
  458. package/dist/node_modules/hono/dist/types/middleware/context-storage/index.d.ts +4 -6
  459. package/dist/node_modules/hono/dist/types/middleware/cors/index.d.ts +10 -12
  460. package/dist/node_modules/hono/dist/types/middleware/csrf/index.d.ts +6 -8
  461. package/dist/node_modules/hono/dist/types/middleware/etag/digest.d.ts +2 -0
  462. package/dist/node_modules/hono/dist/types/middleware/etag/index.d.ts +6 -8
  463. package/dist/node_modules/hono/dist/types/middleware/ip-restriction/index.d.ts +11 -12
  464. package/dist/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +11 -11
  465. package/dist/node_modules/hono/dist/types/middleware/jwk/index.d.ts +2 -1
  466. package/dist/node_modules/hono/dist/types/middleware/jwk/jwk.d.ts +20 -23
  467. package/dist/node_modules/hono/dist/types/middleware/jwt/index.d.ts +7 -6
  468. package/dist/node_modules/hono/dist/types/middleware/jwt/jwt.d.ts +28 -30
  469. package/dist/node_modules/hono/dist/types/middleware/language/index.d.ts +6 -5
  470. package/dist/node_modules/hono/dist/types/middleware/language/language.d.ts +42 -44
  471. package/dist/node_modules/hono/dist/types/middleware/logger/index.d.ts +3 -5
  472. package/dist/node_modules/hono/dist/types/middleware/method-not-allowed/index.d.ts +7 -9
  473. package/dist/node_modules/hono/dist/types/middleware/method-override/index.d.ts +14 -16
  474. package/dist/node_modules/hono/dist/types/middleware/mount/index.d.ts +46 -0
  475. package/dist/node_modules/hono/dist/types/middleware/powered-by/index.d.ts +8 -10
  476. package/dist/node_modules/hono/dist/types/middleware/pretty-json/index.d.ts +18 -20
  477. package/dist/node_modules/hono/dist/types/middleware/request-id/index.d.ts +6 -5
  478. package/dist/node_modules/hono/dist/types/middleware/request-id/request-id.d.ts +9 -11
  479. package/dist/node_modules/hono/dist/types/middleware/secure-headers/index.d.ts +6 -6
  480. package/dist/node_modules/hono/dist/types/middleware/secure-headers/permissions-policy.d.ts +2 -0
  481. package/dist/node_modules/hono/dist/types/middleware/secure-headers/secure-headers.d.ts +55 -57
  482. package/dist/node_modules/hono/dist/types/middleware/serve-static/index.d.ts +24 -24
  483. package/dist/node_modules/hono/dist/types/middleware/serve-static/path.d.ts +2 -0
  484. package/dist/node_modules/hono/dist/types/middleware/timeout/index.d.ts +5 -7
  485. package/dist/node_modules/hono/dist/types/middleware/timing/index.d.ts +6 -5
  486. package/dist/node_modules/hono/dist/types/middleware/timing/timing.d.ts +17 -20
  487. package/dist/node_modules/hono/dist/types/middleware/trailing-slash/index.d.ts +35 -37
  488. package/dist/node_modules/hono/dist/types/preset/quick.d.ts +6 -9
  489. package/dist/node_modules/hono/dist/types/preset/tiny.d.ts +6 -9
  490. package/dist/node_modules/hono/dist/types/request/constants.d.ts +2 -0
  491. package/dist/node_modules/hono/dist/types/request.d.ts +288 -286
  492. package/dist/node_modules/hono/dist/types/router/linear-router/index.d.ts +2 -5
  493. package/dist/node_modules/hono/dist/types/router/linear-router/router.d.ts +7 -5
  494. package/dist/node_modules/hono/dist/types/router/pattern-router/index.d.ts +2 -5
  495. package/dist/node_modules/hono/dist/types/router/pattern-router/router.d.ts +7 -5
  496. package/dist/node_modules/hono/dist/types/router/reg-exp-router/index.d.ts +3 -6
  497. package/dist/node_modules/hono/dist/types/router/reg-exp-router/matcher.d.ts +3 -1
  498. package/dist/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +6 -4
  499. package/dist/node_modules/hono/dist/types/router/reg-exp-router/prepared-router.d.ts +11 -10
  500. package/dist/node_modules/hono/dist/types/router/reg-exp-router/router.d.ts +10 -9
  501. package/dist/node_modules/hono/dist/types/router/reg-exp-router/trie.d.ts +7 -5
  502. package/dist/node_modules/hono/dist/types/router/smart-router/index.d.ts +2 -5
  503. package/dist/node_modules/hono/dist/types/router/smart-router/router.d.ts +11 -9
  504. package/dist/node_modules/hono/dist/types/router/trie-router/index.d.ts +2 -5
  505. package/dist/node_modules/hono/dist/types/router/trie-router/node.d.ts +6 -4
  506. package/dist/node_modules/hono/dist/types/router/trie-router/router.d.ts +7 -5
  507. package/dist/node_modules/hono/dist/types/router/utils.d.ts +2 -0
  508. package/dist/node_modules/hono/dist/types/router.d.ts +23 -22
  509. package/dist/node_modules/hono/dist/types/types.d.ts +146 -505
  510. package/dist/node_modules/hono/dist/types/utils/accept.d.ts +5 -3
  511. package/dist/node_modules/hono/dist/types/utils/basic-auth.d.ts +4 -2
  512. package/dist/node_modules/hono/dist/types/utils/body.d.ts +46 -50
  513. package/dist/node_modules/hono/dist/types/utils/buffer.d.ts +7 -5
  514. package/dist/node_modules/hono/dist/types/utils/color.d.ts +2 -0
  515. package/dist/node_modules/hono/dist/types/utils/compress.d.ts +2 -0
  516. package/dist/node_modules/hono/dist/types/utils/concurrent.d.ts +6 -4
  517. package/dist/node_modules/hono/dist/types/utils/constants.d.ts +2 -0
  518. package/dist/node_modules/hono/dist/types/utils/cookie.d.ts +20 -18
  519. package/dist/node_modules/hono/dist/types/utils/crypto.d.ts +5 -7
  520. package/dist/node_modules/hono/dist/types/utils/encode.d.ts +2 -0
  521. package/dist/node_modules/hono/dist/types/utils/filepath.d.ts +5 -3
  522. package/dist/node_modules/hono/dist/types/utils/handler.d.ts +2 -0
  523. package/dist/node_modules/hono/dist/types/utils/headers.d.ts +2 -0
  524. package/dist/node_modules/hono/dist/types/utils/html.d.ts +11 -9
  525. package/dist/node_modules/hono/dist/types/utils/http-status.d.ts +2 -0
  526. package/dist/node_modules/hono/dist/types/utils/ipaddr.d.ts +4 -6
  527. package/dist/node_modules/hono/dist/types/utils/jwt/index.d.ts +18 -12
  528. package/dist/node_modules/hono/dist/types/utils/jwt/jwa.d.ts +15 -13
  529. package/dist/node_modules/hono/dist/types/utils/jwt/jws.d.ts +4 -7
  530. package/dist/node_modules/hono/dist/types/utils/jwt/jwt.d.ts +26 -29
  531. package/dist/node_modules/hono/dist/types/utils/jwt/types.d.ts +48 -45
  532. package/dist/node_modules/hono/dist/types/utils/jwt/utf8.d.ts +2 -0
  533. package/dist/node_modules/hono/dist/types/utils/mime.d.ts +60 -57
  534. package/dist/node_modules/hono/dist/types/utils/stream.d.ts +27 -25
  535. package/dist/node_modules/hono/dist/types/utils/types.d.ts +15 -27
  536. package/dist/node_modules/hono/dist/types/utils/url.d.ts +2 -0
  537. package/dist/node_modules/hono/dist/types/validator/index.d.ts +3 -7
  538. package/dist/node_modules/hono/dist/types/validator/utils.d.ts +6 -8
  539. package/dist/node_modules/hono/dist/types/validator/validator.d.ts +11 -9
  540. package/dist/node_modules/hono/dist/types.js +4 -6
  541. package/dist/node_modules/hono/dist/utils/accept.js +185 -215
  542. package/dist/node_modules/hono/dist/utils/basic-auth.js +18 -21
  543. package/dist/node_modules/hono/dist/utils/body.js +87 -92
  544. package/dist/node_modules/hono/dist/utils/buffer.js +44 -71
  545. package/dist/node_modules/hono/dist/utils/color.js +33 -21
  546. package/dist/node_modules/hono/dist/utils/compress.js +11 -5
  547. package/dist/node_modules/hono/dist/utils/concurrent.js +29 -38
  548. package/dist/node_modules/hono/dist/utils/constants.js +7 -5
  549. package/dist/node_modules/hono/dist/utils/cookie.js +114 -163
  550. package/dist/node_modules/hono/dist/utils/crypto.js +30 -40
  551. package/dist/node_modules/hono/dist/utils/encode.js +30 -26
  552. package/dist/node_modules/hono/dist/utils/filepath.js +23 -33
  553. package/dist/node_modules/hono/dist/utils/handler.js +10 -11
  554. package/dist/node_modules/hono/dist/utils/headers.js +1 -0
  555. package/dist/node_modules/hono/dist/utils/html.js +97 -117
  556. package/dist/node_modules/hono/dist/utils/http-status.js +1 -0
  557. package/dist/node_modules/hono/dist/utils/ipaddr.js +227 -279
  558. package/dist/node_modules/hono/dist/utils/jwt/index.js +12 -4
  559. package/dist/node_modules/hono/dist/utils/jwt/jwa.js +24 -20
  560. package/dist/node_modules/hono/dist/utils/jwt/jws.js +115 -174
  561. package/dist/node_modules/hono/dist/utils/jwt/jwt.js +120 -197
  562. package/dist/node_modules/hono/dist/utils/jwt/types.js +79 -95
  563. package/dist/node_modules/hono/dist/utils/jwt/utf8.js +9 -7
  564. package/dist/node_modules/hono/dist/utils/mime.js +74 -79
  565. package/dist/node_modules/hono/dist/utils/stream.js +86 -88
  566. package/dist/node_modules/hono/dist/utils/types.js +1 -0
  567. package/dist/node_modules/hono/dist/utils/url.js +187 -215
  568. package/dist/node_modules/hono/dist/validator/index.js +1 -4
  569. package/dist/node_modules/hono/dist/validator/utils.js +1 -0
  570. package/dist/node_modules/hono/dist/validator/validator.js +61 -83
  571. package/dist/node_modules/hono/package.json +36 -28
  572. package/dist/node_modules/light-my-request/package.json +1 -1
  573. package/dist/node_modules/openapi-types/package.json +1 -1
  574. package/package.json +2 -2
@@ -1,454 +1,383 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var context_exports = {};
19
- __export(context_exports, {
20
- Context: () => Context,
21
- TEXT_PLAIN: () => TEXT_PLAIN
22
- });
23
- module.exports = __toCommonJS(context_exports);
24
- var import_request = require("./request");
25
- var import_html = require("./utils/html");
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_request = require("./request.js");
3
+ const require_utils_html = require("./utils/html.js");
4
+ //#region src/context.ts
26
5
  const TEXT_PLAIN = "text/plain; charset=UTF-8";
27
6
  const setDefaultContentType = (contentType, headers) => {
28
- return {
29
- "Content-Type": contentType,
30
- ...headers
31
- };
7
+ return {
8
+ "Content-Type": contentType,
9
+ ...headers
10
+ };
32
11
  };
33
12
  const createResponseInstance = (body, init) => new Response(body, init);
34
- class Context {
35
- #rawRequest;
36
- #req;
37
- /**
38
- * `.env` can get bindings (environment variables, secrets, KV namespaces, D1 database, R2 bucket etc.) in Cloudflare Workers.
39
- *
40
- * @see {@link https://hono.dev/docs/api/context#env}
41
- *
42
- * @example
43
- * ```ts
44
- * // Environment object for Cloudflare Workers
45
- * app.get('*', async c => {
46
- * const counter = c.env.COUNTER
47
- * })
48
- * ```
49
- */
50
- env = {};
51
- #var;
52
- finalized = false;
53
- /**
54
- * `.error` can get the error object from the middleware if the Handler throws an error.
55
- *
56
- * @see {@link https://hono.dev/docs/api/context#error}
57
- *
58
- * @example
59
- * ```ts
60
- * app.use('*', async (c, next) => {
61
- * await next()
62
- * if (c.error) {
63
- * // do something...
64
- * }
65
- * })
66
- * ```
67
- */
68
- error;
69
- #status;
70
- #executionCtx;
71
- #res;
72
- #layout;
73
- #renderer;
74
- #notFoundHandler;
75
- #preparedHeaders;
76
- #matchResult;
77
- #path;
78
- /**
79
- * Creates an instance of the Context class.
80
- *
81
- * @param req - The Request object.
82
- * @param options - Optional configuration options for the context.
83
- */
84
- constructor(req, options) {
85
- this.#rawRequest = req;
86
- if (options) {
87
- this.#executionCtx = options.executionCtx;
88
- this.env = options.env;
89
- this.#notFoundHandler = options.notFoundHandler;
90
- this.#path = options.path;
91
- this.#matchResult = options.matchResult;
92
- }
93
- }
94
- /**
95
- * `.req` is the instance of {@link HonoRequest}.
96
- */
97
- get req() {
98
- this.#req ??= new import_request.HonoRequest(this.#rawRequest, this.#path, this.#matchResult);
99
- return this.#req;
100
- }
101
- /**
102
- * @see {@link https://hono.dev/docs/api/context#event}
103
- * The FetchEvent associated with the current request.
104
- *
105
- * @throws Will throw an error if the context does not have a FetchEvent.
106
- */
107
- get event() {
108
- if (this.#executionCtx && "respondWith" in this.#executionCtx) {
109
- return this.#executionCtx;
110
- } else {
111
- throw Error("This context has no FetchEvent");
112
- }
113
- }
114
- /**
115
- * @see {@link https://hono.dev/docs/api/context#executionctx}
116
- * The ExecutionContext associated with the current request.
117
- *
118
- * @throws Will throw an error if the context does not have an ExecutionContext.
119
- */
120
- get executionCtx() {
121
- if (this.#executionCtx) {
122
- return this.#executionCtx;
123
- } else {
124
- throw Error("This context has no ExecutionContext");
125
- }
126
- }
127
- /**
128
- * @see {@link https://hono.dev/docs/api/context#res}
129
- * The Response object for the current request.
130
- */
131
- get res() {
132
- return this.#res ||= createResponseInstance(null, {
133
- headers: this.#preparedHeaders ??= new Headers()
134
- });
135
- }
136
- /**
137
- * Sets the Response object for the current request.
138
- *
139
- * @param _res - The Response object to set.
140
- */
141
- set res(_res) {
142
- if (this.#res && _res) {
143
- _res = createResponseInstance(_res.body, _res);
144
- for (const [k, v] of this.#res.headers.entries()) {
145
- if (k === "content-type") {
146
- continue;
147
- }
148
- if (k === "set-cookie") {
149
- const cookies = this.#res.headers.getSetCookie();
150
- _res.headers.delete("set-cookie");
151
- for (const cookie of cookies) {
152
- _res.headers.append("set-cookie", cookie);
153
- }
154
- } else {
155
- _res.headers.set(k, v);
156
- }
157
- }
158
- }
159
- this.#res = _res;
160
- this.finalized = true;
161
- }
162
- /**
163
- * `.render()` can create a response within a layout.
164
- *
165
- * @see {@link https://hono.dev/docs/api/context#render-setrenderer}
166
- *
167
- * @example
168
- * ```ts
169
- * app.get('/', (c) => {
170
- * return c.render('Hello!')
171
- * })
172
- * ```
173
- */
174
- render = (...args) => {
175
- this.#renderer ??= (content) => this.html(content);
176
- return this.#renderer(...args);
177
- };
178
- /**
179
- * Sets the layout for the response.
180
- *
181
- * @param layout - The layout to set.
182
- * @returns The layout function.
183
- */
184
- setLayout = (layout) => this.#layout = layout;
185
- /**
186
- * Gets the current layout for the response.
187
- *
188
- * @returns The current layout function.
189
- */
190
- getLayout = () => this.#layout;
191
- /**
192
- * `.setRenderer()` can set the layout in the custom middleware.
193
- *
194
- * @see {@link https://hono.dev/docs/api/context#render-setrenderer}
195
- *
196
- * @example
197
- * ```tsx
198
- * app.use('*', async (c, next) => {
199
- * c.setRenderer((content) => {
200
- * return c.html(
201
- * <html>
202
- * <body>
203
- * <p>{content}</p>
204
- * </body>
205
- * </html>
206
- * )
207
- * })
208
- * await next()
209
- * })
210
- * ```
211
- */
212
- setRenderer = (renderer) => {
213
- this.#renderer = renderer;
214
- };
215
- /**
216
- * `.header()` can set headers.
217
- *
218
- * @see {@link https://hono.dev/docs/api/context#header}
219
- *
220
- * @example
221
- * ```ts
222
- * app.get('/welcome', (c) => {
223
- * // Set headers
224
- * c.header('X-Message', 'Hello!')
225
- * c.header('Content-Type', 'text/plain')
226
- *
227
- * // Append multiple headers using the append option (e.g. Vary)
228
- * c.header('Vary', 'Accept-Encoding', { append: true })
229
- * c.header('Vary', 'User-Agent', { append: true })
230
- *
231
- * return c.body('Thank you for coming')
232
- * })
233
- * ```
234
- */
235
- header = (name, value, options) => {
236
- if (this.finalized) {
237
- this.#res = createResponseInstance(this.#res.body, this.#res);
238
- }
239
- const headers = this.#res ? this.#res.headers : this.#preparedHeaders ??= new Headers();
240
- if (value === void 0) {
241
- headers.delete(name);
242
- } else if (options?.append) {
243
- headers.append(name, value);
244
- } else {
245
- headers.set(name, value);
246
- }
247
- };
248
- status = (status) => {
249
- this.#status = status;
250
- };
251
- /**
252
- * `.set()` can set the value specified by the key.
253
- *
254
- * @see {@link https://hono.dev/docs/api/context#set-get}
255
- *
256
- * @example
257
- * ```ts
258
- * app.use('*', async (c, next) => {
259
- * c.set('message', 'Hono is hot!!')
260
- * await next()
261
- * })
262
- * ```
263
- */
264
- set = (key, value) => {
265
- this.#var ??= /* @__PURE__ */ new Map();
266
- this.#var.set(key, value);
267
- };
268
- /**
269
- * `.get()` can use the value specified by the key.
270
- *
271
- * @see {@link https://hono.dev/docs/api/context#set-get}
272
- *
273
- * @example
274
- * ```ts
275
- * app.get('/', (c) => {
276
- * const message = c.get('message')
277
- * return c.text(`The message is "${message}"`)
278
- * })
279
- * ```
280
- */
281
- get = (key) => {
282
- return this.#var ? this.#var.get(key) : void 0;
283
- };
284
- /**
285
- * `.var` can access the value of a variable.
286
- *
287
- * @see {@link https://hono.dev/docs/api/context#var}
288
- *
289
- * @example
290
- * ```ts
291
- * const result = c.var.client.oneMethod()
292
- * ```
293
- */
294
- // c.var.propName is a read-only
295
- get var() {
296
- if (!this.#var) {
297
- return {};
298
- }
299
- return Object.fromEntries(this.#var);
300
- }
301
- #newResponse(data, arg, headers) {
302
- let responseHeaders = this.#res ? new Headers(this.#res.headers) : this.#preparedHeaders;
303
- if (typeof arg === "object" && arg.headers) {
304
- responseHeaders ??= new Headers();
305
- for (const [key, value] of new Headers(arg.headers)) {
306
- if (key === "set-cookie") {
307
- responseHeaders.append(key, value);
308
- } else {
309
- responseHeaders.set(key, value);
310
- }
311
- }
312
- }
313
- if (headers) {
314
- if (!responseHeaders) {
315
- let count = 0;
316
- for (const k in headers) {
317
- if (++count > 1 || typeof headers[k] !== "string") {
318
- responseHeaders = new Headers();
319
- break;
320
- }
321
- }
322
- }
323
- if (responseHeaders) {
324
- for (const k in headers) {
325
- const v = headers[k];
326
- if (typeof v === "string") {
327
- responseHeaders.set(k, v);
328
- } else {
329
- responseHeaders.delete(k);
330
- for (const v2 of v) {
331
- responseHeaders.append(k, v2);
332
- }
333
- }
334
- }
335
- }
336
- }
337
- const status = typeof arg === "number" ? arg : arg?.status ?? this.#status;
338
- return createResponseInstance(data, {
339
- status,
340
- headers: responseHeaders ?? headers
341
- });
342
- }
343
- newResponse = (...args) => this.#newResponse(...args);
344
- /**
345
- * `.body()` can return the HTTP response.
346
- * You can set headers with `.header()` and set HTTP status code with `.status`.
347
- * This can also be set in `.text()`, `.json()` and so on.
348
- *
349
- * @see {@link https://hono.dev/docs/api/context#body}
350
- *
351
- * @example
352
- * ```ts
353
- * app.get('/welcome', (c) => {
354
- * // Set headers
355
- * c.header('X-Message', 'Hello!')
356
- * c.header('Content-Type', 'text/plain')
357
- * // Set HTTP status code
358
- * c.status(201)
359
- *
360
- * // Return the response body
361
- * return c.body('Thank you for coming')
362
- * })
363
- * ```
364
- */
365
- body = (data, arg, headers) => this.#newResponse(data, arg, headers);
366
- /**
367
- * `.text()` can render text as `Content-Type:text/plain`.
368
- *
369
- * @see {@link https://hono.dev/docs/api/context#text}
370
- *
371
- * @example
372
- * ```ts
373
- * app.get('/say', (c) => {
374
- * return c.text('Hello!')
375
- * })
376
- * ```
377
- */
378
- text = (text, arg, headers) => {
379
- return !this.#preparedHeaders && !this.#status && !arg && !headers && !this.finalized ? new Response(text) : this.#newResponse(
380
- text,
381
- arg,
382
- setDefaultContentType(TEXT_PLAIN, headers)
383
- );
384
- };
385
- /**
386
- * `.json()` can render JSON as `Content-Type:application/json`.
387
- *
388
- * @see {@link https://hono.dev/docs/api/context#json}
389
- *
390
- * @example
391
- * ```ts
392
- * app.get('/api', (c) => {
393
- * return c.json({ message: 'Hello!' })
394
- * })
395
- * ```
396
- */
397
- json = (object, arg, headers) => {
398
- return this.#newResponse(
399
- JSON.stringify(object),
400
- arg,
401
- setDefaultContentType("application/json", headers)
402
- );
403
- };
404
- html = (html, arg, headers) => {
405
- const res = (html2) => this.#newResponse(html2, arg, setDefaultContentType("text/html; charset=UTF-8", headers));
406
- return typeof html === "object" ? (0, import_html.resolveCallback)(html, import_html.HtmlEscapedCallbackPhase.Stringify, false, {}).then(res) : res(html);
407
- };
408
- /**
409
- * `.redirect()` can Redirect, default status code is 302.
410
- *
411
- * @see {@link https://hono.dev/docs/api/context#redirect}
412
- *
413
- * @example
414
- * ```ts
415
- * app.get('/redirect', (c) => {
416
- * return c.redirect('/')
417
- * })
418
- * app.get('/redirect-permanently', (c) => {
419
- * return c.redirect('/', 301)
420
- * })
421
- * ```
422
- */
423
- redirect = (location, status) => {
424
- const locationString = String(location);
425
- this.header(
426
- "Location",
427
- // Multibyes should be encoded
428
- // eslint-disable-next-line no-control-regex
429
- !/[^\x00-\xFF]/.test(locationString) ? locationString : encodeURI(locationString)
430
- );
431
- return this.newResponse(null, status ?? 302);
432
- };
433
- /**
434
- * `.notFound()` can return the Not Found Response.
435
- *
436
- * @see {@link https://hono.dev/docs/api/context#notfound}
437
- *
438
- * @example
439
- * ```ts
440
- * app.get('/notfound', (c) => {
441
- * return c.notFound()
442
- * })
443
- * ```
444
- */
445
- notFound = () => {
446
- this.#notFoundHandler ??= () => createResponseInstance();
447
- return this.#notFoundHandler(this);
448
- };
449
- }
450
- // Annotate the CommonJS export names for ESM import in node:
451
- 0 && (module.exports = {
452
- Context,
453
- TEXT_PLAIN
454
- });
13
+ var Context = class {
14
+ #rawRequest;
15
+ #req;
16
+ /**
17
+ * `.env` can get bindings (environment variables, secrets, KV namespaces, D1 database, R2 bucket etc.) in Cloudflare Workers.
18
+ *
19
+ * @see {@link https://hono.dev/docs/api/context#env}
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * // Environment object for Cloudflare Workers
24
+ * app.get('*', async c => {
25
+ * const counter = c.env.COUNTER
26
+ * })
27
+ * ```
28
+ */
29
+ env = {};
30
+ #var;
31
+ finalized = false;
32
+ /**
33
+ * `.error` can get the error object from the middleware if the Handler throws an error.
34
+ *
35
+ * @see {@link https://hono.dev/docs/api/context#error}
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * app.use('*', async (c, next) => {
40
+ * await next()
41
+ * if (c.error) {
42
+ * // do something...
43
+ * }
44
+ * })
45
+ * ```
46
+ */
47
+ error;
48
+ #status;
49
+ #executionCtx;
50
+ #res;
51
+ #layout;
52
+ #renderer;
53
+ #notFoundHandler;
54
+ #preparedHeaders;
55
+ #matchResult;
56
+ #path;
57
+ /**
58
+ * Creates an instance of the Context class.
59
+ *
60
+ * @param req - The Request object.
61
+ * @param options - Optional configuration options for the context.
62
+ */
63
+ constructor(req, options) {
64
+ this.#rawRequest = req;
65
+ if (options) {
66
+ this.#executionCtx = options.executionCtx;
67
+ this.env = options.env;
68
+ this.#notFoundHandler = options.notFoundHandler;
69
+ this.#path = options.path;
70
+ this.#matchResult = options.matchResult;
71
+ }
72
+ }
73
+ /**
74
+ * `.req` is the instance of {@link HonoRequest}.
75
+ */
76
+ get req() {
77
+ this.#req ??= new require_request.HonoRequest(this.#rawRequest, this.#path, this.#matchResult);
78
+ return this.#req;
79
+ }
80
+ /**
81
+ * @see {@link https://hono.dev/docs/api/context#event}
82
+ * The FetchEvent associated with the current request.
83
+ *
84
+ * @throws Will throw an error if the context does not have a FetchEvent.
85
+ */
86
+ get event() {
87
+ if (this.#executionCtx && "respondWith" in this.#executionCtx) return this.#executionCtx;
88
+ else throw Error("This context has no FetchEvent");
89
+ }
90
+ /**
91
+ * @see {@link https://hono.dev/docs/api/context#executionctx}
92
+ * The ExecutionContext associated with the current request.
93
+ *
94
+ * @throws Will throw an error if the context does not have an ExecutionContext.
95
+ */
96
+ get executionCtx() {
97
+ if (this.#executionCtx) return this.#executionCtx;
98
+ else throw Error("This context has no ExecutionContext");
99
+ }
100
+ /**
101
+ * @see {@link https://hono.dev/docs/api/context#res}
102
+ * The Response object for the current request.
103
+ */
104
+ get res() {
105
+ return this.#res ||= createResponseInstance(null, { headers: this.#preparedHeaders ??= new Headers() });
106
+ }
107
+ /**
108
+ * Sets the Response object for the current request.
109
+ *
110
+ * @param _res - The Response object to set.
111
+ */
112
+ set res(_res) {
113
+ if (this.#res && _res) {
114
+ _res = createResponseInstance(_res.body, _res);
115
+ for (const [k, v] of this.#res.headers.entries()) {
116
+ if (k === "content-type") continue;
117
+ if (k === "set-cookie") {
118
+ const cookies = this.#res.headers.getSetCookie();
119
+ _res.headers.delete("set-cookie");
120
+ for (const cookie of cookies) _res.headers.append("set-cookie", cookie);
121
+ } else _res.headers.set(k, v);
122
+ }
123
+ }
124
+ this.#res = _res;
125
+ this.finalized = true;
126
+ }
127
+ /**
128
+ * `.render()` can create a response within a layout.
129
+ *
130
+ * @see {@link https://hono.dev/docs/api/context#render-setrenderer}
131
+ *
132
+ * @example
133
+ * ```ts
134
+ * app.get('/', (c) => {
135
+ * return c.render('Hello!')
136
+ * })
137
+ * ```
138
+ */
139
+ render = (...args) => {
140
+ this.#renderer ??= (content) => this.html(content);
141
+ return this.#renderer(...args);
142
+ };
143
+ /**
144
+ * Sets the layout for the response.
145
+ *
146
+ * @param layout - The layout to set.
147
+ * @returns The layout function.
148
+ */
149
+ setLayout = (layout) => this.#layout = layout;
150
+ /**
151
+ * Gets the current layout for the response.
152
+ *
153
+ * @returns The current layout function.
154
+ */
155
+ getLayout = () => this.#layout;
156
+ /**
157
+ * `.setRenderer()` can set the layout in the custom middleware.
158
+ *
159
+ * @see {@link https://hono.dev/docs/api/context#render-setrenderer}
160
+ *
161
+ * @example
162
+ * ```tsx
163
+ * app.use('*', async (c, next) => {
164
+ * c.setRenderer((content) => {
165
+ * return c.html(
166
+ * <html>
167
+ * <body>
168
+ * <p>{content}</p>
169
+ * </body>
170
+ * </html>
171
+ * )
172
+ * })
173
+ * await next()
174
+ * })
175
+ * ```
176
+ */
177
+ setRenderer = (renderer) => {
178
+ this.#renderer = renderer;
179
+ };
180
+ /**
181
+ * `.header()` can set headers.
182
+ *
183
+ * @see {@link https://hono.dev/docs/api/context#header}
184
+ *
185
+ * @example
186
+ * ```ts
187
+ * app.get('/welcome', (c) => {
188
+ * // Set headers
189
+ * c.header('X-Message', 'Hello!')
190
+ * c.header('Content-Type', 'text/plain')
191
+ *
192
+ * // Append multiple headers using the append option (e.g. Vary)
193
+ * c.header('Vary', 'Accept-Encoding', { append: true })
194
+ * c.header('Vary', 'User-Agent', { append: true })
195
+ *
196
+ * return c.body('Thank you for coming')
197
+ * })
198
+ * ```
199
+ */
200
+ header = (name, value, options) => {
201
+ if (this.finalized) this.#res = createResponseInstance(this.#res.body, this.#res);
202
+ const headers = this.#res ? this.#res.headers : this.#preparedHeaders ??= new Headers();
203
+ if (value === void 0) headers.delete(name);
204
+ else if (options?.append) headers.append(name, value);
205
+ else headers.set(name, value);
206
+ };
207
+ status = (status) => {
208
+ this.#status = status;
209
+ };
210
+ /**
211
+ * `.set()` can set the value specified by the key.
212
+ *
213
+ * @see {@link https://hono.dev/docs/api/context#set-get}
214
+ *
215
+ * @example
216
+ * ```ts
217
+ * app.use('*', async (c, next) => {
218
+ * c.set('message', 'Hono is hot!!')
219
+ * await next()
220
+ * })
221
+ * ```
222
+ */
223
+ set = (key, value) => {
224
+ this.#var ??= /* @__PURE__ */ new Map();
225
+ this.#var.set(key, value);
226
+ };
227
+ /**
228
+ * `.get()` can use the value specified by the key.
229
+ *
230
+ * @see {@link https://hono.dev/docs/api/context#set-get}
231
+ *
232
+ * @example
233
+ * ```ts
234
+ * app.get('/', (c) => {
235
+ * const message = c.get('message')
236
+ * return c.text(`The message is "${message}"`)
237
+ * })
238
+ * ```
239
+ */
240
+ get = (key) => {
241
+ return this.#var ? this.#var.get(key) : void 0;
242
+ };
243
+ /**
244
+ * `.var` can access the value of a variable.
245
+ *
246
+ * @see {@link https://hono.dev/docs/api/context#var}
247
+ *
248
+ * @example
249
+ * ```ts
250
+ * const result = c.var.client.oneMethod()
251
+ * ```
252
+ */
253
+ get var() {
254
+ if (!this.#var) return {};
255
+ return Object.fromEntries(this.#var);
256
+ }
257
+ #newResponse(data, arg, headers) {
258
+ let responseHeaders = this.#res ? new Headers(this.#res.headers) : this.#preparedHeaders;
259
+ if (typeof arg === "object" && arg.headers) {
260
+ responseHeaders ??= new Headers();
261
+ for (const [key, value] of new Headers(arg.headers)) if (key === "set-cookie") responseHeaders.append(key, value);
262
+ else responseHeaders.set(key, value);
263
+ }
264
+ if (headers) {
265
+ if (!responseHeaders) {
266
+ let count = 0;
267
+ for (const k in headers) if (++count > 1 || typeof headers[k] !== "string") {
268
+ responseHeaders = new Headers();
269
+ break;
270
+ }
271
+ }
272
+ if (responseHeaders) for (const k in headers) {
273
+ const v = headers[k];
274
+ if (typeof v === "string") responseHeaders.set(k, v);
275
+ else {
276
+ responseHeaders.delete(k);
277
+ for (const v2 of v) responseHeaders.append(k, v2);
278
+ }
279
+ }
280
+ }
281
+ const status = typeof arg === "number" ? arg : arg?.status ?? this.#status;
282
+ return createResponseInstance(data, {
283
+ status,
284
+ headers: responseHeaders ?? headers
285
+ });
286
+ }
287
+ newResponse = (...args) => this.#newResponse(...args);
288
+ /**
289
+ * `.body()` can return the HTTP response.
290
+ * You can set headers with `.header()` and set HTTP status code with `.status`.
291
+ * This can also be set in `.text()`, `.json()` and so on.
292
+ *
293
+ * @see {@link https://hono.dev/docs/api/context#body}
294
+ *
295
+ * @example
296
+ * ```ts
297
+ * app.get('/welcome', (c) => {
298
+ * // Set headers
299
+ * c.header('X-Message', 'Hello!')
300
+ * c.header('Content-Type', 'text/plain')
301
+ * // Set HTTP status code
302
+ * c.status(201)
303
+ *
304
+ * // Return the response body
305
+ * return c.body('Thank you for coming')
306
+ * })
307
+ * ```
308
+ */
309
+ body = (data, arg, headers) => this.#newResponse(data, arg, headers);
310
+ /**
311
+ * `.text()` can render text as `Content-Type:text/plain`.
312
+ *
313
+ * @see {@link https://hono.dev/docs/api/context#text}
314
+ *
315
+ * @example
316
+ * ```ts
317
+ * app.get('/say', (c) => {
318
+ * return c.text('Hello!')
319
+ * })
320
+ * ```
321
+ */
322
+ text = (text, arg, headers) => {
323
+ return !this.#preparedHeaders && !this.#status && !arg && !headers && !this.finalized ? new Response(text) : this.#newResponse(text, arg, setDefaultContentType(TEXT_PLAIN, headers));
324
+ };
325
+ /**
326
+ * `.json()` can render JSON as `Content-Type:application/json`.
327
+ *
328
+ * @see {@link https://hono.dev/docs/api/context#json}
329
+ *
330
+ * @example
331
+ * ```ts
332
+ * app.get('/api', (c) => {
333
+ * return c.json({ message: 'Hello!' })
334
+ * })
335
+ * ```
336
+ */
337
+ json = (object, arg, headers) => {
338
+ return this.#newResponse(JSON.stringify(object), arg, setDefaultContentType("application/json", headers));
339
+ };
340
+ html = (html, arg, headers) => {
341
+ const res = (html) => this.#newResponse(html, arg, setDefaultContentType("text/html; charset=UTF-8", headers));
342
+ return typeof html === "object" ? require_utils_html.resolveCallback(html, require_utils_html.HtmlEscapedCallbackPhase.Stringify, false, {}).then(res) : res(html);
343
+ };
344
+ /**
345
+ * `.redirect()` can Redirect, default status code is 302.
346
+ *
347
+ * @see {@link https://hono.dev/docs/api/context#redirect}
348
+ *
349
+ * @example
350
+ * ```ts
351
+ * app.get('/redirect', (c) => {
352
+ * return c.redirect('/')
353
+ * })
354
+ * app.get('/redirect-permanently', (c) => {
355
+ * return c.redirect('/', 301)
356
+ * })
357
+ * ```
358
+ */
359
+ redirect = (location, status) => {
360
+ const locationString = String(location);
361
+ this.header("Location", !/[^\x00-\xFF]/.test(locationString) ? locationString : encodeURI(locationString));
362
+ return this.newResponse(null, status ?? 302);
363
+ };
364
+ /**
365
+ * `.notFound()` can return the Not Found Response.
366
+ *
367
+ * @see {@link https://hono.dev/docs/api/context#notfound}
368
+ *
369
+ * @example
370
+ * ```ts
371
+ * app.get('/notfound', (c) => {
372
+ * return c.notFound()
373
+ * })
374
+ * ```
375
+ */
376
+ notFound = () => {
377
+ this.#notFoundHandler ??= () => createResponseInstance();
378
+ return this.#notFoundHandler(this);
379
+ };
380
+ };
381
+ //#endregion
382
+ exports.Context = Context;
383
+ exports.TEXT_PLAIN = TEXT_PLAIN;