hono 4.13.13 → 5.0.0-rc.0

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 (444) hide show
  1. package/README.md +2 -2
  2. package/dist/{types/compose.d.ts → compose.d.ts} +1 -0
  3. package/dist/compose.js +10 -5
  4. package/dist/{types/context.d.ts → context.d.ts} +15 -15
  5. package/dist/context.js +79 -47
  6. package/dist/helper/factory/define-handler.d.ts +150 -0
  7. package/dist/helper/factory/define-handler.js +165 -0
  8. package/dist/{types/helper → helper}/factory/index.d.ts +30 -1
  9. package/dist/helper/factory/index.js +31 -3
  10. package/dist/{types/helper → helper}/ssg/middleware.d.ts +0 -6
  11. package/dist/helper/ssg/middleware.js +1 -16
  12. package/dist/{types/helper → helper}/ssg/ssg.d.ts +0 -12
  13. package/dist/helper/ssg/ssg.js +0 -3
  14. package/dist/{types/hono-base.d.ts → hono-base.d.ts} +3 -60
  15. package/dist/hono-base.js +6 -97
  16. package/dist/{types/hono.d.ts → hono.d.ts} +1 -1
  17. package/dist/{types/middleware → middleware}/basic-auth/index.d.ts +4 -3
  18. package/dist/middleware/basic-auth/index.js +1 -1
  19. package/dist/{types/middleware → middleware}/bearer-auth/index.d.ts +4 -27
  20. package/dist/middleware/bearer-auth/index.js +4 -4
  21. package/dist/middleware/language/language.js +1 -1
  22. package/dist/middleware/logger/index.js +6 -8
  23. package/dist/{types/middleware → middleware}/serve-static/index.d.ts +0 -4
  24. package/dist/{types/preset → preset}/quick.d.ts +1 -1
  25. package/dist/{types/preset → preset}/tiny.d.ts +1 -1
  26. package/dist/{types/request.d.ts → request.d.ts} +3 -48
  27. package/dist/request.js +0 -49
  28. package/dist/router/linear-router/router.js +4 -6
  29. package/dist/router/pattern-router/router.js +2 -2
  30. package/dist/router/reg-exp-router/node.js +1 -1
  31. package/dist/router/trie-router/node.js +3 -3
  32. package/dist/utils/buffer.d.ts +11 -0
  33. package/dist/utils/buffer.js +1 -8
  34. package/dist/utils/color.d.ts +16 -0
  35. package/dist/utils/color.js +7 -23
  36. package/dist/{types/utils → utils}/http-status.d.ts +1 -9
  37. package/dist/{types/utils → utils}/url.d.ts +0 -5
  38. package/dist/utils/url.js +1 -11
  39. package/dist/{types/validator → validator}/validator.d.ts +5 -0
  40. package/dist/validator/validator.js +46 -49
  41. package/package.json +209 -350
  42. package/dist/adapter/aws-lambda/conninfo.js +0 -43
  43. package/dist/adapter/aws-lambda/handler.js +0 -342
  44. package/dist/adapter/aws-lambda/index.js +0 -3
  45. package/dist/adapter/aws-lambda/types.js +0 -1
  46. package/dist/adapter/bun/conninfo.js +0 -22
  47. package/dist/adapter/bun/index.js +0 -6
  48. package/dist/adapter/bun/serve-static.js +0 -30
  49. package/dist/adapter/bun/server.js +0 -11
  50. package/dist/adapter/bun/ssg.js +0 -27
  51. package/dist/adapter/bun/websocket.js +0 -66
  52. package/dist/adapter/cloudflare-pages/conninfo.js +0 -24
  53. package/dist/adapter/cloudflare-pages/handler.js +0 -64
  54. package/dist/adapter/cloudflare-pages/index.js +0 -3
  55. package/dist/adapter/cloudflare-workers/conninfo.js +0 -7
  56. package/dist/adapter/cloudflare-workers/index.js +0 -4
  57. package/dist/adapter/cloudflare-workers/serve-static-module.js +0 -7
  58. package/dist/adapter/cloudflare-workers/serve-static.js +0 -28
  59. package/dist/adapter/cloudflare-workers/utils.js +0 -22
  60. package/dist/adapter/cloudflare-workers/websocket.js +0 -33
  61. package/dist/adapter/deno/conninfo.js +0 -17
  62. package/dist/adapter/deno/deno.d.js +0 -1
  63. package/dist/adapter/deno/index.js +0 -5
  64. package/dist/adapter/deno/serve-static.js +0 -35
  65. package/dist/adapter/deno/ssg.js +0 -29
  66. package/dist/adapter/deno/websocket.js +0 -32
  67. package/dist/adapter/lambda-edge/conninfo.js +0 -7
  68. package/dist/adapter/lambda-edge/handler.js +0 -111
  69. package/dist/adapter/lambda-edge/index.js +0 -3
  70. package/dist/adapter/netlify/conninfo.js +0 -24
  71. package/dist/adapter/netlify/handler.js +0 -11
  72. package/dist/adapter/netlify/index.js +0 -3
  73. package/dist/adapter/netlify/mod.js +0 -3
  74. package/dist/adapter/service-worker/handler.js +0 -16
  75. package/dist/adapter/service-worker/index.js +0 -25
  76. package/dist/adapter/service-worker/types.js +0 -1
  77. package/dist/adapter/vercel/conninfo.js +0 -7
  78. package/dist/adapter/vercel/handler.js +0 -9
  79. package/dist/adapter/vercel/index.js +0 -3
  80. package/dist/cjs/_virtual/_rolldown/runtime.js +0 -33
  81. package/dist/cjs/adapter/aws-lambda/conninfo.js +0 -44
  82. package/dist/cjs/adapter/aws-lambda/handler.js +0 -352
  83. package/dist/cjs/adapter/aws-lambda/index.js +0 -7
  84. package/dist/cjs/adapter/aws-lambda/types.js +0 -0
  85. package/dist/cjs/adapter/bun/conninfo.js +0 -23
  86. package/dist/cjs/adapter/bun/index.js +0 -14
  87. package/dist/cjs/adapter/bun/serve-static.js +0 -31
  88. package/dist/cjs/adapter/bun/server.js +0 -12
  89. package/dist/cjs/adapter/bun/ssg.js +0 -29
  90. package/dist/cjs/adapter/bun/websocket.js +0 -70
  91. package/dist/cjs/adapter/cloudflare-pages/conninfo.js +0 -25
  92. package/dist/cjs/adapter/cloudflare-pages/handler.js +0 -67
  93. package/dist/cjs/adapter/cloudflare-pages/index.js +0 -7
  94. package/dist/cjs/adapter/cloudflare-workers/conninfo.js +0 -8
  95. package/dist/cjs/adapter/cloudflare-workers/index.js +0 -7
  96. package/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +0 -8
  97. package/dist/cjs/adapter/cloudflare-workers/serve-static.js +0 -29
  98. package/dist/cjs/adapter/cloudflare-workers/utils.js +0 -23
  99. package/dist/cjs/adapter/cloudflare-workers/websocket.js +0 -34
  100. package/dist/cjs/adapter/deno/conninfo.js +0 -18
  101. package/dist/cjs/adapter/deno/deno.d.js +0 -0
  102. package/dist/cjs/adapter/deno/index.js +0 -10
  103. package/dist/cjs/adapter/deno/serve-static.js +0 -36
  104. package/dist/cjs/adapter/deno/ssg.js +0 -31
  105. package/dist/cjs/adapter/deno/websocket.js +0 -33
  106. package/dist/cjs/adapter/lambda-edge/conninfo.js +0 -8
  107. package/dist/cjs/adapter/lambda-edge/handler.js +0 -116
  108. package/dist/cjs/adapter/lambda-edge/index.js +0 -5
  109. package/dist/cjs/adapter/netlify/conninfo.js +0 -25
  110. package/dist/cjs/adapter/netlify/handler.js +0 -12
  111. package/dist/cjs/adapter/netlify/index.js +0 -5
  112. package/dist/cjs/adapter/netlify/mod.js +0 -5
  113. package/dist/cjs/adapter/service-worker/handler.js +0 -17
  114. package/dist/cjs/adapter/service-worker/index.js +0 -27
  115. package/dist/cjs/adapter/service-worker/types.js +0 -0
  116. package/dist/cjs/adapter/vercel/conninfo.js +0 -8
  117. package/dist/cjs/adapter/vercel/handler.js +0 -10
  118. package/dist/cjs/adapter/vercel/index.js +0 -5
  119. package/dist/cjs/client/client.js +0 -145
  120. package/dist/cjs/client/fetch-result-please.js +0 -67
  121. package/dist/cjs/client/index.js +0 -7
  122. package/dist/cjs/client/types.js +0 -0
  123. package/dist/cjs/client/utils.js +0 -70
  124. package/dist/cjs/compose.js +0 -51
  125. package/dist/cjs/context.js +0 -383
  126. package/dist/cjs/helper/accepts/accepts.js +0 -54
  127. package/dist/cjs/helper/accepts/index.js +0 -3
  128. package/dist/cjs/helper/adapter/index.js +0 -41
  129. package/dist/cjs/helper/conninfo/index.js +0 -0
  130. package/dist/cjs/helper/conninfo/types.js +0 -0
  131. package/dist/cjs/helper/cookie/index.js +0 -89
  132. package/dist/cjs/helper/css/common.js +0 -194
  133. package/dist/cjs/helper/css/index.js +0 -142
  134. package/dist/cjs/helper/dev/index.js +0 -53
  135. package/dist/cjs/helper/factory/index.js +0 -33
  136. package/dist/cjs/helper/html/index.js +0 -34
  137. package/dist/cjs/helper/proxy/index.js +0 -122
  138. package/dist/cjs/helper/route/index.js +0 -128
  139. package/dist/cjs/helper/ssg/index.js +0 -19
  140. package/dist/cjs/helper/ssg/middleware.js +0 -65
  141. package/dist/cjs/helper/ssg/plugins.js +0 -68
  142. package/dist/cjs/helper/ssg/ssg.js +0 -220
  143. package/dist/cjs/helper/ssg/utils.js +0 -70
  144. package/dist/cjs/helper/streaming/index.js +0 -8
  145. package/dist/cjs/helper/streaming/sse.js +0 -59
  146. package/dist/cjs/helper/streaming/stream.js +0 -26
  147. package/dist/cjs/helper/streaming/text.js +0 -12
  148. package/dist/cjs/helper/streaming/utils.js +0 -16
  149. package/dist/cjs/helper/testing/index.js +0 -18
  150. package/dist/cjs/helper/websocket/index.js +0 -56
  151. package/dist/cjs/hono-base.js +0 -351
  152. package/dist/cjs/hono.js +0 -29
  153. package/dist/cjs/http-exception.js +0 -56
  154. package/dist/cjs/index.js +0 -22
  155. package/dist/cjs/jsx/base.js +0 -266
  156. package/dist/cjs/jsx/children.js +0 -19
  157. package/dist/cjs/jsx/components.js +0 -147
  158. package/dist/cjs/jsx/constants.js +0 -15
  159. package/dist/cjs/jsx/context.js +0 -170
  160. package/dist/cjs/jsx/dom/client.js +0 -56
  161. package/dist/cjs/jsx/dom/components.js +0 -26
  162. package/dist/cjs/jsx/dom/context.js +0 -43
  163. package/dist/cjs/jsx/dom/css.js +0 -153
  164. package/dist/cjs/jsx/dom/hooks/index.js +0 -65
  165. package/dist/cjs/jsx/dom/index.js +0 -122
  166. package/dist/cjs/jsx/dom/intrinsic-element/components.js +0 -306
  167. package/dist/cjs/jsx/dom/jsx-dev-runtime.js +0 -17
  168. package/dist/cjs/jsx/dom/jsx-runtime.js +0 -5
  169. package/dist/cjs/jsx/dom/render.js +0 -525
  170. package/dist/cjs/jsx/dom/server.js +0 -44
  171. package/dist/cjs/jsx/dom/utils.js +0 -9
  172. package/dist/cjs/jsx/hooks/index.js +0 -280
  173. package/dist/cjs/jsx/index.js +0 -89
  174. package/dist/cjs/jsx/intrinsic-element/common.js +0 -27
  175. package/dist/cjs/jsx/intrinsic-element/components.js +0 -138
  176. package/dist/cjs/jsx/intrinsic-elements.js +0 -0
  177. package/dist/cjs/jsx/jsx-dev-runtime.js +0 -16
  178. package/dist/cjs/jsx/jsx-runtime.js +0 -37
  179. package/dist/cjs/jsx/streaming.js +0 -135
  180. package/dist/cjs/jsx/types.js +0 -0
  181. package/dist/cjs/jsx/utils.js +0 -116
  182. package/dist/cjs/middleware/basic-auth/index.js +0 -100
  183. package/dist/cjs/middleware/bearer-auth/index.js +0 -97
  184. package/dist/cjs/middleware/body-limit/index.js +0 -69
  185. package/dist/cjs/middleware/cache/index.js +0 -173
  186. package/dist/cjs/middleware/combine/index.js +0 -141
  187. package/dist/cjs/middleware/compress/index.js +0 -82
  188. package/dist/cjs/middleware/context-storage/index.js +0 -55
  189. package/dist/cjs/middleware/cors/index.js +0 -109
  190. package/dist/cjs/middleware/csrf/index.js +0 -106
  191. package/dist/cjs/middleware/etag/digest.js +0 -62
  192. package/dist/cjs/middleware/etag/index.js +0 -79
  193. package/dist/cjs/middleware/ip-restriction/index.js +0 -168
  194. package/dist/cjs/middleware/jsx-renderer/index.js +0 -104
  195. package/dist/cjs/middleware/jwk/index.js +0 -3
  196. package/dist/cjs/middleware/jwk/jwk.js +0 -122
  197. package/dist/cjs/middleware/jwt/index.js +0 -9
  198. package/dist/cjs/middleware/jwt/jwt.js +0 -124
  199. package/dist/cjs/middleware/language/index.js +0 -7
  200. package/dist/cjs/middleware/language/language.js +0 -208
  201. package/dist/cjs/middleware/logger/index.js +0 -51
  202. package/dist/cjs/middleware/method-not-allowed/index.js +0 -84
  203. package/dist/cjs/middleware/method-override/index.js +0 -105
  204. package/dist/cjs/middleware/mount/index.js +0 -71
  205. package/dist/cjs/middleware/powered-by/index.js +0 -25
  206. package/dist/cjs/middleware/pretty-json/index.js +0 -41
  207. package/dist/cjs/middleware/request-id/index.js +0 -3
  208. package/dist/cjs/middleware/request-id/request-id.js +0 -35
  209. package/dist/cjs/middleware/secure-headers/index.js +0 -4
  210. package/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -0
  211. package/dist/cjs/middleware/secure-headers/secure-headers.js +0 -166
  212. package/dist/cjs/middleware/serve-static/index.js +0 -62
  213. package/dist/cjs/middleware/serve-static/path.js +0 -17
  214. package/dist/cjs/middleware/timeout/index.js +0 -42
  215. package/dist/cjs/middleware/timing/index.js +0 -7
  216. package/dist/cjs/middleware/timing/timing.js +0 -189
  217. package/dist/cjs/middleware/trailing-slash/index.js +0 -89
  218. package/dist/cjs/package.json +0 -3
  219. package/dist/cjs/preset/quick.js +0 -19
  220. package/dist/cjs/preset/tiny.js +0 -16
  221. package/dist/cjs/request/constants.js +0 -5
  222. package/dist/cjs/request.js +0 -337
  223. package/dist/cjs/router/linear-router/index.js +0 -3
  224. package/dist/cjs/router/linear-router/router.js +0 -97
  225. package/dist/cjs/router/pattern-router/index.js +0 -3
  226. package/dist/cjs/router/pattern-router/router.js +0 -42
  227. package/dist/cjs/router/reg-exp-router/index.js +0 -7
  228. package/dist/cjs/router/reg-exp-router/matcher.js +0 -21
  229. package/dist/cjs/router/reg-exp-router/node.js +0 -96
  230. package/dist/cjs/router/reg-exp-router/prepared-router.js +0 -97
  231. package/dist/cjs/router/reg-exp-router/router.js +0 -102
  232. package/dist/cjs/router/reg-exp-router/trie.js +0 -74
  233. package/dist/cjs/router/smart-router/index.js +0 -3
  234. package/dist/cjs/router/smart-router/router.js +0 -50
  235. package/dist/cjs/router/trie-router/index.js +0 -3
  236. package/dist/cjs/router/trie-router/node.js +0 -135
  237. package/dist/cjs/router/trie-router/router.js +0 -16
  238. package/dist/cjs/router/utils.js +0 -5
  239. package/dist/cjs/router.js +0 -40
  240. package/dist/cjs/types.js +0 -5
  241. package/dist/cjs/utils/accept.js +0 -194
  242. package/dist/cjs/utils/basic-auth.js +0 -21
  243. package/dist/cjs/utils/body.js +0 -97
  244. package/dist/cjs/utils/buffer.js +0 -55
  245. package/dist/cjs/utils/color.js +0 -39
  246. package/dist/cjs/utils/compress.js +0 -12
  247. package/dist/cjs/utils/concurrent.js +0 -31
  248. package/dist/cjs/utils/constants.js +0 -8
  249. package/dist/cjs/utils/cookie.js +0 -129
  250. package/dist/cjs/utils/crypto.js +0 -38
  251. package/dist/cjs/utils/encode.js +0 -37
  252. package/dist/cjs/utils/filepath.js +0 -27
  253. package/dist/cjs/utils/handler.js +0 -14
  254. package/dist/cjs/utils/headers.js +0 -0
  255. package/dist/cjs/utils/html.js +0 -109
  256. package/dist/cjs/utils/http-status.js +0 -0
  257. package/dist/cjs/utils/ipaddr.js +0 -247
  258. package/dist/cjs/utils/jwt/index.js +0 -15
  259. package/dist/cjs/utils/jwt/jwa.js +0 -25
  260. package/dist/cjs/utils/jwt/jws.js +0 -135
  261. package/dist/cjs/utils/jwt/jwt.js +0 -136
  262. package/dist/cjs/utils/jwt/types.js +0 -124
  263. package/dist/cjs/utils/jwt/utf8.js +0 -11
  264. package/dist/cjs/utils/mime.js +0 -80
  265. package/dist/cjs/utils/stream.js +0 -89
  266. package/dist/cjs/utils/types.js +0 -0
  267. package/dist/cjs/utils/url.js +0 -215
  268. package/dist/cjs/validator/index.js +0 -3
  269. package/dist/cjs/validator/utils.js +0 -0
  270. package/dist/cjs/validator/validator.js +0 -65
  271. package/dist/types/adapter/aws-lambda/conninfo.d.ts +0 -30
  272. package/dist/types/adapter/aws-lambda/handler.d.ts +0 -230
  273. package/dist/types/adapter/aws-lambda/index.d.ts +0 -4
  274. package/dist/types/adapter/aws-lambda/types.d.ts +0 -183
  275. package/dist/types/adapter/bun/conninfo.d.ts +0 -10
  276. package/dist/types/adapter/bun/index.d.ts +0 -6
  277. package/dist/types/adapter/bun/serve-static.d.ts +0 -8
  278. package/dist/types/adapter/bun/server.d.ts +0 -11
  279. package/dist/types/adapter/bun/ssg.d.ts +0 -17
  280. package/dist/types/adapter/bun/websocket.d.ts +0 -54
  281. package/dist/types/adapter/cloudflare-pages/conninfo.d.ts +0 -24
  282. package/dist/types/adapter/cloudflare-pages/handler.d.ts +0 -45
  283. package/dist/types/adapter/cloudflare-pages/index.d.ts +0 -3
  284. package/dist/types/adapter/cloudflare-workers/conninfo.d.ts +0 -7
  285. package/dist/types/adapter/cloudflare-workers/index.d.ts +0 -4
  286. package/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +0 -7
  287. package/dist/types/adapter/cloudflare-workers/serve-static.d.ts +0 -21
  288. package/dist/types/adapter/cloudflare-workers/utils.d.ts +0 -13
  289. package/dist/types/adapter/cloudflare-workers/websocket.d.ts +0 -7
  290. package/dist/types/adapter/deno/conninfo.d.ts +0 -10
  291. package/dist/types/adapter/deno/deno.d.ts +0 -1
  292. package/dist/types/adapter/deno/index.d.ts +0 -5
  293. package/dist/types/adapter/deno/serve-static.d.ts +0 -8
  294. package/dist/types/adapter/deno/ssg.d.ts +0 -17
  295. package/dist/types/adapter/deno/websocket.d.ts +0 -7
  296. package/dist/types/adapter/lambda-edge/conninfo.d.ts +0 -7
  297. package/dist/types/adapter/lambda-edge/handler.d.ts +0 -113
  298. package/dist/types/adapter/lambda-edge/index.d.ts +0 -3
  299. package/dist/types/adapter/netlify/conninfo.d.ts +0 -24
  300. package/dist/types/adapter/netlify/handler.d.ts +0 -7
  301. package/dist/types/adapter/netlify/index.d.ts +0 -3
  302. package/dist/types/adapter/netlify/mod.d.ts +0 -3
  303. package/dist/types/adapter/service-worker/handler.d.ts +0 -18
  304. package/dist/types/adapter/service-worker/index.d.ts +0 -26
  305. package/dist/types/adapter/service-worker/types.d.ts +0 -17
  306. package/dist/types/adapter/vercel/conninfo.d.ts +0 -7
  307. package/dist/types/adapter/vercel/handler.d.ts +0 -7
  308. package/dist/types/adapter/vercel/index.d.ts +0 -3
  309. package/dist/types/package.json +0 -3
  310. package/dist/types/utils/buffer.d.ts +0 -19
  311. package/dist/types/utils/color.d.ts +0 -23
  312. package/dist/{types/client → client}/client.d.ts +0 -0
  313. package/dist/{types/client → client}/fetch-result-please.d.ts +0 -0
  314. package/dist/{types/client → client}/index.d.ts +0 -0
  315. package/dist/{types/client → client}/types.d.ts +1 -1
  316. package/dist/{types/client → client}/utils.d.ts +0 -0
  317. package/dist/{types/helper → helper}/accepts/accepts.d.ts +0 -0
  318. package/dist/{types/helper → helper}/accepts/index.d.ts +0 -0
  319. package/dist/{types/helper → helper}/adapter/index.d.ts +0 -0
  320. package/dist/{types/helper → helper}/conninfo/index.d.ts +0 -0
  321. package/dist/{types/helper → helper}/conninfo/types.d.ts +0 -0
  322. package/dist/{types/helper → helper}/cookie/index.d.ts +0 -0
  323. package/dist/{types/helper → helper}/css/common.d.ts +0 -0
  324. package/dist/{types/helper → helper}/css/index.d.ts +0 -0
  325. package/dist/{types/helper → helper}/dev/index.d.ts +0 -0
  326. package/dist/{types/helper → helper}/html/index.d.ts +0 -0
  327. package/dist/{types/helper → helper}/proxy/index.d.ts +0 -0
  328. package/dist/{types/helper → helper}/route/index.d.ts +0 -0
  329. package/dist/{types/helper → helper}/ssg/index.d.ts +0 -0
  330. package/dist/{types/helper → helper}/ssg/plugins.d.ts +0 -0
  331. package/dist/{types/helper → helper}/ssg/utils.d.ts +0 -0
  332. package/dist/{types/helper → helper}/streaming/index.d.ts +0 -0
  333. package/dist/{types/helper → helper}/streaming/sse.d.ts +0 -0
  334. package/dist/{types/helper → helper}/streaming/stream.d.ts +0 -0
  335. package/dist/{types/helper → helper}/streaming/text.d.ts +0 -0
  336. package/dist/{types/helper → helper}/streaming/utils.d.ts +0 -0
  337. package/dist/{types/helper → helper}/testing/index.d.ts +0 -0
  338. package/dist/{types/helper → helper}/websocket/index.d.ts +0 -0
  339. package/dist/{types/http-exception.d.ts → http-exception.d.ts} +0 -0
  340. package/dist/{types/index.d.ts → index.d.ts} +0 -0
  341. package/dist/{types/jsx → jsx}/base.d.ts +0 -0
  342. package/dist/{types/jsx → jsx}/children.d.ts +0 -0
  343. package/dist/{types/jsx → jsx}/components.d.ts +0 -0
  344. package/dist/{types/jsx → jsx}/constants.d.ts +0 -0
  345. package/dist/{types/jsx → jsx}/context.d.ts +0 -0
  346. package/dist/{types/jsx → jsx}/dom/client.d.ts +0 -0
  347. package/dist/{types/jsx → jsx}/dom/components.d.ts +0 -0
  348. package/dist/{types/jsx → jsx}/dom/context.d.ts +0 -0
  349. package/dist/{types/jsx → jsx}/dom/css.d.ts +0 -0
  350. package/dist/{types/jsx → jsx}/dom/hooks/index.d.ts +0 -0
  351. package/dist/{types/jsx → jsx}/dom/index.d.ts +0 -0
  352. package/dist/{types/jsx → jsx}/dom/intrinsic-element/components.d.ts +0 -0
  353. package/dist/{types/jsx → jsx}/dom/jsx-dev-runtime.d.ts +0 -0
  354. package/dist/{types/jsx → jsx}/dom/jsx-runtime.d.ts +0 -0
  355. package/dist/{types/jsx → jsx}/dom/render.d.ts +0 -0
  356. package/dist/{types/jsx → jsx}/dom/server.d.ts +0 -0
  357. package/dist/{types/jsx → jsx}/dom/utils.d.ts +0 -0
  358. package/dist/{types/jsx → jsx}/hooks/index.d.ts +0 -0
  359. package/dist/{types/jsx → jsx}/index.d.ts +0 -0
  360. package/dist/{types/jsx → jsx}/intrinsic-element/common.d.ts +0 -0
  361. package/dist/{types/jsx → jsx}/intrinsic-element/components.d.ts +0 -0
  362. package/dist/{types/jsx → jsx}/intrinsic-elements.d.ts +0 -0
  363. package/dist/{types/jsx → jsx}/jsx-dev-runtime.d.ts +0 -0
  364. package/dist/{types/jsx → jsx}/jsx-runtime.d.ts +0 -0
  365. package/dist/{types/jsx → jsx}/streaming.d.ts +0 -0
  366. package/dist/{types/jsx → jsx}/types.d.ts +0 -0
  367. package/dist/{types/jsx → jsx}/utils.d.ts +0 -0
  368. package/dist/{types/middleware → middleware}/body-limit/index.d.ts +0 -0
  369. package/dist/{types/middleware → middleware}/cache/index.d.ts +0 -0
  370. package/dist/{types/middleware → middleware}/combine/index.d.ts +0 -0
  371. package/dist/{types/middleware → middleware}/compress/index.d.ts +0 -0
  372. package/dist/{types/middleware → middleware}/context-storage/index.d.ts +0 -0
  373. package/dist/{types/middleware → middleware}/cors/index.d.ts +0 -0
  374. package/dist/{types/middleware → middleware}/csrf/index.d.ts +0 -0
  375. package/dist/{types/middleware → middleware}/etag/digest.d.ts +0 -0
  376. package/dist/{types/middleware → middleware}/etag/index.d.ts +0 -0
  377. package/dist/{types/middleware → middleware}/ip-restriction/index.d.ts +0 -0
  378. package/dist/{types/middleware → middleware}/jsx-renderer/index.d.ts +0 -0
  379. package/dist/{types/middleware → middleware}/jwk/index.d.ts +0 -0
  380. package/dist/{types/middleware → middleware}/jwk/jwk.d.ts +0 -0
  381. package/dist/{types/middleware → middleware}/jwt/index.d.ts +0 -0
  382. package/dist/{types/middleware → middleware}/jwt/jwt.d.ts +0 -0
  383. package/dist/{types/middleware → middleware}/language/index.d.ts +0 -0
  384. package/dist/{types/middleware → middleware}/language/language.d.ts +0 -0
  385. package/dist/{types/middleware → middleware}/logger/index.d.ts +0 -0
  386. package/dist/{types/middleware → middleware}/method-not-allowed/index.d.ts +0 -0
  387. package/dist/{types/middleware → middleware}/method-override/index.d.ts +0 -0
  388. package/dist/{types/middleware → middleware}/mount/index.d.ts +0 -0
  389. package/dist/{types/middleware → middleware}/powered-by/index.d.ts +0 -0
  390. package/dist/{types/middleware → middleware}/pretty-json/index.d.ts +0 -0
  391. package/dist/{types/middleware → middleware}/request-id/index.d.ts +0 -0
  392. package/dist/{types/middleware → middleware}/request-id/request-id.d.ts +0 -0
  393. package/dist/{types/middleware → middleware}/secure-headers/index.d.ts +0 -0
  394. package/dist/{types/middleware → middleware}/secure-headers/permissions-policy.d.ts +0 -0
  395. package/dist/{types/middleware → middleware}/secure-headers/secure-headers.d.ts +0 -0
  396. package/dist/{types/middleware → middleware}/serve-static/path.d.ts +0 -0
  397. package/dist/{types/middleware → middleware}/timeout/index.d.ts +0 -0
  398. package/dist/{types/middleware → middleware}/timing/index.d.ts +0 -0
  399. package/dist/{types/middleware → middleware}/timing/timing.d.ts +0 -0
  400. package/dist/{types/middleware → middleware}/trailing-slash/index.d.ts +0 -0
  401. package/dist/{types/request → request}/constants.d.ts +0 -0
  402. package/dist/{types/router → router}/linear-router/index.d.ts +0 -0
  403. package/dist/{types/router → router}/linear-router/router.d.ts +0 -0
  404. package/dist/{types/router → router}/pattern-router/index.d.ts +0 -0
  405. package/dist/{types/router → router}/pattern-router/router.d.ts +0 -0
  406. package/dist/{types/router → router}/reg-exp-router/index.d.ts +0 -0
  407. package/dist/{types/router → router}/reg-exp-router/matcher.d.ts +0 -0
  408. package/dist/{types/router → router}/reg-exp-router/node.d.ts +0 -0
  409. package/dist/{types/router → router}/reg-exp-router/prepared-router.d.ts +0 -0
  410. package/dist/{types/router → router}/reg-exp-router/router.d.ts +0 -0
  411. package/dist/{types/router → router}/reg-exp-router/trie.d.ts +0 -0
  412. package/dist/{types/router → router}/smart-router/index.d.ts +0 -0
  413. package/dist/{types/router → router}/smart-router/router.d.ts +0 -0
  414. package/dist/{types/router → router}/trie-router/index.d.ts +0 -0
  415. package/dist/{types/router → router}/trie-router/node.d.ts +0 -0
  416. package/dist/{types/router → router}/trie-router/router.d.ts +0 -0
  417. package/dist/{types/router → router}/utils.d.ts +0 -0
  418. package/dist/{types/router.d.ts → router.d.ts} +0 -0
  419. package/dist/{types/types.d.ts → types.d.ts} +1 -1
  420. /package/dist/{types/utils → utils}/accept.d.ts +0 -0
  421. /package/dist/{types/utils → utils}/basic-auth.d.ts +0 -0
  422. /package/dist/{types/utils → utils}/body.d.ts +0 -0
  423. /package/dist/{types/utils → utils}/compress.d.ts +0 -0
  424. /package/dist/{types/utils → utils}/concurrent.d.ts +0 -0
  425. /package/dist/{types/utils → utils}/constants.d.ts +0 -0
  426. /package/dist/{types/utils → utils}/cookie.d.ts +0 -0
  427. /package/dist/{types/utils → utils}/crypto.d.ts +0 -0
  428. /package/dist/{types/utils → utils}/encode.d.ts +0 -0
  429. /package/dist/{types/utils → utils}/filepath.d.ts +0 -0
  430. /package/dist/{types/utils → utils}/handler.d.ts +0 -0
  431. /package/dist/{types/utils → utils}/headers.d.ts +0 -0
  432. /package/dist/{types/utils → utils}/html.d.ts +0 -0
  433. /package/dist/{types/utils → utils}/ipaddr.d.ts +0 -0
  434. /package/dist/{types/utils → utils}/jwt/index.d.ts +0 -0
  435. /package/dist/{types/utils → utils}/jwt/jwa.d.ts +0 -0
  436. /package/dist/{types/utils → utils}/jwt/jws.d.ts +0 -0
  437. /package/dist/{types/utils → utils}/jwt/jwt.d.ts +0 -0
  438. /package/dist/{types/utils → utils}/jwt/types.d.ts +0 -0
  439. /package/dist/{types/utils → utils}/jwt/utf8.d.ts +0 -0
  440. /package/dist/{types/utils → utils}/mime.d.ts +0 -0
  441. /package/dist/{types/utils → utils}/stream.d.ts +0 -0
  442. /package/dist/{types/utils → utils}/types.d.ts +0 -0
  443. /package/dist/{types/validator → validator}/index.d.ts +0 -0
  444. /package/dist/{types/validator → validator}/utils.d.ts +0 -0
@@ -1,43 +0,0 @@
1
- //#region src/adapter/aws-lambda/conninfo.ts
2
- /**
3
- * Get connection information from AWS Lambda
4
- *
5
- * Extracts client IP from various Lambda event sources:
6
- * - API Gateway v1 (REST API): requestContext.identity.sourceIp
7
- * - API Gateway v2 (HTTP API/Function URLs): requestContext.http.sourceIp
8
- * - ALB: Falls back to x-forwarded-for header
9
- *
10
- * @param c - Context
11
- * @returns Connection information including remote address
12
- * @example
13
- * ```ts
14
- * import { Hono } from 'hono'
15
- * import { handle, getConnInfo } from 'hono/aws-lambda'
16
- *
17
- * const app = new Hono()
18
- *
19
- * app.get('/', (c) => {
20
- * const info = getConnInfo(c)
21
- * return c.text(`Your IP: ${info.remote.address}`)
22
- * })
23
- *
24
- * export const handler = handle(app)
25
- * ```
26
- * @deprecated `hono/aws-lambda` will be removed in v5. Install `@hono/aws-lambda` and import from there instead.
27
- */
28
- const getConnInfo = (c) => {
29
- const requestContext = c.env.requestContext;
30
- let address;
31
- if ("identity" in requestContext && requestContext.identity?.sourceIp) address = requestContext.identity.sourceIp;
32
- else if ("http" in requestContext && requestContext.http?.sourceIp) address = requestContext.http.sourceIp;
33
- else {
34
- const xff = c.req.header("x-forwarded-for");
35
- if (xff) {
36
- const ips = xff.split(",");
37
- address = ips[ips.length - 1].trim();
38
- }
39
- }
40
- return { remote: { address } };
41
- };
42
- //#endregion
43
- export { getConnInfo };
@@ -1,342 +0,0 @@
1
- import { decodeBase64, encodeBase64 } from "../../utils/encode.js";
2
- import { pipeline } from "node:stream/promises";
3
- //#region src/adapter/aws-lambda/handler.ts
4
- function sanitizeHeaderValue(value) {
5
- if (!/[^\x00-\x7F]/.test(value)) return value;
6
- return encodeURIComponent(value);
7
- }
8
- const getRequestContext = (event) => {
9
- return event.requestContext;
10
- };
11
- async function* readWebStream(reader) {
12
- let readResult = await reader.read();
13
- while (!readResult.done) {
14
- yield readResult.value;
15
- readResult = await reader.read();
16
- }
17
- }
18
- const streamToNodeStream = (reader, writer) => pipeline(readWebStream(reader), writer);
19
- /**
20
- * @deprecated `hono/aws-lambda` will be removed in v5. Install `@hono/aws-lambda` and import from there instead.
21
- */
22
- const streamHandle = (app) => {
23
- return awslambda.streamifyResponse(async (event, responseStream, context) => {
24
- const processor = getProcessor(event);
25
- try {
26
- const req = processor.createRequest(event);
27
- const requestContext = getRequestContext(event);
28
- const res = await app.fetch(req, {
29
- event,
30
- requestContext,
31
- context
32
- });
33
- const headers = {};
34
- const cookies = [];
35
- res.headers.forEach((value, name) => {
36
- if (name === "set-cookie") cookies.push(value);
37
- else headers[name] = value;
38
- });
39
- const httpResponseMetadata = {
40
- statusCode: res.status,
41
- headers,
42
- cookies
43
- };
44
- responseStream = awslambda.HttpResponseStream.from(responseStream, httpResponseMetadata);
45
- if (res.body) await streamToNodeStream(res.body.getReader(), responseStream);
46
- else responseStream.write("");
47
- } catch (error) {
48
- console.error("Error processing request:", error);
49
- responseStream.write("Internal Server Error");
50
- } finally {
51
- responseStream.end();
52
- }
53
- });
54
- };
55
- /**
56
- * Converts a Hono application to an AWS Lambda handler.
57
- *
58
- * Accepts events from API Gateway (v1 and v2), Application Load Balancer (ALB),
59
- * and Lambda Function URLs.
60
- *
61
- * @param app - The Hono application instance
62
- * @param options - Optional configuration
63
- * @param options.isContentTypeBinary - A function to determine if the content type is binary.
64
- * If not provided, the default function will be used.
65
- * @returns Lambda handler function
66
- *
67
- * @example
68
- * ```js
69
- * import { Hono } from 'hono'
70
- * import { handle } from 'hono/aws-lambda'
71
- *
72
- * const app = new Hono()
73
- *
74
- * app.get('/', (c) => c.text('Hello from Lambda'))
75
- * app.get('/json', (c) => c.json({ message: 'Hello JSON' }))
76
- *
77
- * export const handler = handle(app)
78
- * ```
79
- *
80
- * @example
81
- * ```js
82
- * // With custom binary content type detection
83
- * import { handle, defaultIsContentTypeBinary } from 'hono/aws-lambda'
84
- * export const handler = handle(app, {
85
- * isContentTypeBinary: (contentType) => {
86
- * if (defaultIsContentTypeBinary(contentType)) {
87
- * // default logic same as prior to v4.8.4
88
- * return true
89
- * }
90
- * return contentType.startsWith('image/') || contentType === 'application/pdf'
91
- * }
92
- * })
93
- * ```
94
- * @deprecated `hono/aws-lambda` will be removed in v5. Install `@hono/aws-lambda` and import from there instead.
95
- */
96
- const handle = (app, { isContentTypeBinary } = { isContentTypeBinary: void 0 }) => {
97
- return async (event, lambdaContext) => {
98
- const processor = getProcessor(event);
99
- let req, requestContext;
100
- try {
101
- req = processor.createRequest(event);
102
- requestContext = getRequestContext(event);
103
- } catch (error) {
104
- console.error("Error processing request:", error);
105
- const errorResponse = error instanceof TypeError ? new Response("Invalid request", { status: 400 }) : new Response("Internal Server Error", { status: 500 });
106
- return processor.createResult(event, errorResponse, { isContentTypeBinary });
107
- }
108
- const res = await app.fetch(req, {
109
- event,
110
- requestContext,
111
- lambdaContext
112
- });
113
- return processor.createResult(event, res, { isContentTypeBinary });
114
- };
115
- };
116
- /**
117
- * @deprecated `hono/aws-lambda` will be removed in v5. Install `@hono/aws-lambda` and import from there instead.
118
- */
119
- var EventProcessor = class {
120
- getHeaderValue(headers, key) {
121
- return headers ? Array.isArray(headers[key]) ? headers[key][0] : headers[key] : void 0;
122
- }
123
- getDomainName(event) {
124
- if (event.requestContext && "domainName" in event.requestContext) return event.requestContext.domainName;
125
- const hostFromHeaders = this.getHeaderValue(event.headers, "host");
126
- if (hostFromHeaders) return hostFromHeaders;
127
- const multiValueHeaders = "multiValueHeaders" in event ? event.multiValueHeaders : {};
128
- return this.getHeaderValue(multiValueHeaders, "host");
129
- }
130
- createRequest(event) {
131
- const queryString = this.getQueryString(event);
132
- const urlPath = `https://${this.getDomainName(event)}${this.getPath(event)}`;
133
- const url = queryString ? `${urlPath}?${queryString}` : urlPath;
134
- const headers = this.getHeaders(event);
135
- const requestInit = {
136
- headers,
137
- method: this.getMethod(event)
138
- };
139
- if (event.body) {
140
- const body = event.isBase64Encoded ? decodeBase64(event.body) : new TextEncoder().encode(event.body);
141
- requestInit.body = body;
142
- headers.set("content-length", body.length.toString());
143
- }
144
- return new Request(url, requestInit);
145
- }
146
- async createResult(event, res, options) {
147
- const contentType = res.headers.get("content-type");
148
- const isContentTypeBinary = options.isContentTypeBinary ?? defaultIsContentTypeBinary;
149
- let isBase64Encoded = contentType && isContentTypeBinary(contentType) ? true : false;
150
- if (!isBase64Encoded) {
151
- const contentEncoding = res.headers.get("content-encoding");
152
- isBase64Encoded = isContentEncodingBinary(contentEncoding);
153
- }
154
- const result = {
155
- body: isBase64Encoded ? encodeBase64(await res.arrayBuffer()) : await res.text(),
156
- statusCode: res.status,
157
- isBase64Encoded,
158
- ..."multiValueHeaders" in event && event.multiValueHeaders ? { multiValueHeaders: {} } : { headers: {} }
159
- };
160
- this.setCookies(event, res, result);
161
- if (result.multiValueHeaders) res.headers.forEach((value, key) => {
162
- result.multiValueHeaders[key] = [value];
163
- });
164
- else res.headers.forEach((value, key) => {
165
- result.headers[key] = value;
166
- });
167
- return result;
168
- }
169
- setCookies(_event, res, result) {
170
- if (res.headers.has("set-cookie")) {
171
- const cookies = res.headers.getSetCookie ? res.headers.getSetCookie() : Array.from(res.headers.entries()).filter(([k]) => k === "set-cookie").map(([, v]) => v);
172
- if (Array.isArray(cookies)) {
173
- this.setCookiesToResult(result, cookies);
174
- res.headers.delete("set-cookie");
175
- }
176
- }
177
- }
178
- };
179
- /**
180
- * @deprecated `hono/aws-lambda` will be removed in v5. Install `@hono/aws-lambda` and import from there instead.
181
- */
182
- var EventV2Processor = class extends EventProcessor {
183
- getPath(event) {
184
- return event.rawPath;
185
- }
186
- getMethod(event) {
187
- return event.requestContext.http.method;
188
- }
189
- getQueryString(event) {
190
- return event.rawQueryString;
191
- }
192
- getCookies(event, headers) {
193
- if (Array.isArray(event.cookies)) headers.set("Cookie", event.cookies.join("; "));
194
- }
195
- setCookiesToResult(result, cookies) {
196
- result.cookies = cookies;
197
- }
198
- getHeaders(event) {
199
- const headers = new Headers();
200
- this.getCookies(event, headers);
201
- if (event.headers) {
202
- for (const [k, v] of Object.entries(event.headers)) if (v) headers.set(k, v);
203
- }
204
- return headers;
205
- }
206
- };
207
- const v2Processor = new EventV2Processor();
208
- /**
209
- * @deprecated `hono/aws-lambda` will be removed in v5. Install `@hono/aws-lambda` and import from there instead.
210
- */
211
- var EventV1Processor = class extends EventProcessor {
212
- getPath(event) {
213
- return event.path;
214
- }
215
- getMethod(event) {
216
- return event.httpMethod;
217
- }
218
- getQueryString(event) {
219
- if (event.multiValueQueryStringParameters) return Object.entries(event.multiValueQueryStringParameters || {}).filter(([, value]) => value).map(([key, values]) => values.map((value) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`).join("&")).join("&");
220
- else return Object.entries(event.queryStringParameters || {}).filter(([, value]) => value !== void 0).map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value || "")}`).join("&");
221
- }
222
- getCookies(_event, _headers) {}
223
- getHeaders(event) {
224
- const headers = new Headers();
225
- this.getCookies(event, headers);
226
- if (event.multiValueHeaders) {
227
- for (const [k, values] of Object.entries(event.multiValueHeaders)) if (values) values.forEach((v) => headers.append(k, sanitizeHeaderValue(v)));
228
- }
229
- if (event.headers) {
230
- for (const [k, v] of Object.entries(event.headers)) if (v && !headers.has(k)) headers.set(k, sanitizeHeaderValue(v));
231
- }
232
- return headers;
233
- }
234
- setCookiesToResult(result, cookies) {
235
- result.multiValueHeaders = { "set-cookie": cookies };
236
- }
237
- };
238
- const v1Processor = new EventV1Processor();
239
- /**
240
- * @deprecated `hono/aws-lambda` will be removed in v5. Install `@hono/aws-lambda` and import from there instead.
241
- */
242
- var ALBProcessor = class extends EventProcessor {
243
- getHeaders(event) {
244
- const headers = new Headers();
245
- if (event.multiValueHeaders) {
246
- for (const [key, values] of Object.entries(event.multiValueHeaders)) if (values && Array.isArray(values)) {
247
- const sanitizedValue = sanitizeHeaderValue(values.join("; "));
248
- headers.set(key, sanitizedValue);
249
- }
250
- } else for (const [key, value] of Object.entries(event.headers ?? {})) if (value) headers.set(key, sanitizeHeaderValue(value));
251
- return headers;
252
- }
253
- getPath(event) {
254
- return event.path;
255
- }
256
- getMethod(event) {
257
- return event.httpMethod;
258
- }
259
- getQueryString(event) {
260
- if (event.multiValueQueryStringParameters) return Object.entries(event.multiValueQueryStringParameters || {}).filter(([, value]) => value).map(([key, value]) => `${key}=${value.join(`&${key}=`)}`).join("&");
261
- else return Object.entries(event.queryStringParameters || {}).filter(([, value]) => value !== void 0).map(([key, value]) => `${key}=${value}`).join("&");
262
- }
263
- getCookies(event, headers) {
264
- let cookie;
265
- if (event.multiValueHeaders) cookie = event.multiValueHeaders["cookie"]?.join("; ");
266
- else cookie = event.headers ? event.headers["cookie"] : void 0;
267
- if (cookie) headers.append("Cookie", cookie);
268
- }
269
- setCookiesToResult(result, cookies) {
270
- if (result.multiValueHeaders) result.multiValueHeaders["set-cookie"] = cookies;
271
- else result.headers["set-cookie"] = cookies[0];
272
- }
273
- };
274
- const albProcessor = new ALBProcessor();
275
- /**
276
- * @deprecated `hono/aws-lambda` will be removed in v5. Install `@hono/aws-lambda` and import from there instead.
277
- */
278
- var LatticeV2Processor = class extends EventProcessor {
279
- getPath(event) {
280
- return event.path;
281
- }
282
- getMethod(event) {
283
- return event.method;
284
- }
285
- getQueryString() {
286
- return "";
287
- }
288
- getHeaders(event) {
289
- const headers = new Headers();
290
- if (event.headers) {
291
- for (const [k, values] of Object.entries(event.headers)) if (values) values.forEach((v) => headers.append(k, sanitizeHeaderValue(v)));
292
- }
293
- return headers;
294
- }
295
- getCookies() {}
296
- setCookiesToResult(result, cookies) {
297
- result.headers = {
298
- ...result.headers,
299
- "set-cookie": cookies
300
- };
301
- }
302
- };
303
- const latticeV2Processor = new LatticeV2Processor();
304
- /**
305
- * @deprecated `hono/aws-lambda` will be removed in v5. Install `@hono/aws-lambda` and import from there instead.
306
- */
307
- const getProcessor = (event) => {
308
- if (isProxyEventALB(event)) return albProcessor;
309
- if (isProxyEventV2(event)) return v2Processor;
310
- if (isLatticeEventV2(event)) return latticeV2Processor;
311
- return v1Processor;
312
- };
313
- const isProxyEventALB = (event) => {
314
- if (event.requestContext) return Object.hasOwn(event.requestContext, "elb");
315
- return false;
316
- };
317
- const isProxyEventV2 = (event) => {
318
- return Object.hasOwn(event, "rawPath") && Object.hasOwn(event.requestContext ?? {}, "http");
319
- };
320
- const isLatticeEventV2 = (event) => {
321
- if (event.requestContext) return Object.hasOwn(event.requestContext, "serviceArn");
322
- return false;
323
- };
324
- /**
325
- * Check if the given content type is binary.
326
- * This is a default function and may be overwritten by the user via `isContentTypeBinary` option in handler().
327
- * @param contentType The content type to check.
328
- * @returns True if the content type is binary, false otherwise.
329
- * @deprecated `hono/aws-lambda` will be removed in v5. Install `@hono/aws-lambda` and import from there instead.
330
- */
331
- const defaultIsContentTypeBinary = (contentType) => {
332
- if (/^application\/vnd\.(?:apple\.installer|mozilla\.xul)\+xml\s*(?:;|$)/i.test(contentType)) return true;
333
- return !/^text\/(?:plain|html|css|javascript|csv)|(?:\/|\+)(?:json|xml)\s*(?:;|$)/i.test(contentType);
334
- };
335
- /**
336
- * @deprecated `hono/aws-lambda` will be removed in v5. Install `@hono/aws-lambda` and import from there instead.
337
- */
338
- const isContentEncodingBinary = (contentEncoding) => {
339
- return !!contentEncoding && !/^identity$/i.test(contentEncoding);
340
- };
341
- //#endregion
342
- export { ALBProcessor, EventProcessor, EventV1Processor, EventV2Processor, LatticeV2Processor, defaultIsContentTypeBinary, getProcessor, handle, isContentEncodingBinary, streamHandle };
@@ -1,3 +0,0 @@
1
- import { getConnInfo } from "./conninfo.js";
2
- import { defaultIsContentTypeBinary, handle, streamHandle } from "./handler.js";
3
- export { defaultIsContentTypeBinary, getConnInfo, handle, streamHandle };
@@ -1 +0,0 @@
1
- export {};
@@ -1,22 +0,0 @@
1
- import { getBunServer } from "./server.js";
2
- //#region src/adapter/bun/conninfo.ts
3
- /**
4
- * Get ConnInfo with Bun
5
- * @param c Context
6
- * @returns ConnInfo
7
- * @deprecated `hono/bun` will be removed in v5. Install `@hono/bun` and import from there instead.
8
- */
9
- const getConnInfo = (c) => {
10
- const server = getBunServer(c);
11
- if (!server) throw new TypeError("env has to include the 2nd argument of fetch.");
12
- if (typeof server.requestIP !== "function") throw new TypeError("server.requestIP is not a function.");
13
- const info = server.requestIP(c.req.raw);
14
- if (!info) return { remote: {} };
15
- return { remote: {
16
- address: info.address,
17
- addressType: info.family === "IPv6" || info.family === "IPv4" ? info.family : void 0,
18
- port: info.port
19
- } };
20
- };
21
- //#endregion
22
- export { getConnInfo };
@@ -1,6 +0,0 @@
1
- import { getBunServer } from "./server.js";
2
- import { getConnInfo } from "./conninfo.js";
3
- import { serveStatic } from "./serve-static.js";
4
- import { bunFileSystemModule, toSSG } from "./ssg.js";
5
- import { createBunWebSocket, upgradeWebSocket, websocket } from "./websocket.js";
6
- export { bunFileSystemModule, createBunWebSocket, getBunServer, getConnInfo, serveStatic, toSSG, upgradeWebSocket, websocket };
@@ -1,30 +0,0 @@
1
- import { serveStatic as serveStatic$1 } from "../../middleware/serve-static/index.js";
2
- import { stat } from "node:fs/promises";
3
- import { join } from "node:path";
4
- //#region src/adapter/bun/serve-static.ts
5
- /**
6
- * @deprecated `hono/bun` will be removed in v5. Install `@hono/bun` and import from there instead.
7
- */
8
- const serveStatic = (options = {}) => {
9
- return async function serveStatic(c, next) {
10
- const getContent = async (path) => {
11
- const file = Bun.file(path);
12
- return await file.exists() ? file : null;
13
- };
14
- const isDir = async (path) => {
15
- let isDir;
16
- try {
17
- isDir = (await stat(path)).isDirectory();
18
- } catch {}
19
- return isDir;
20
- };
21
- return serveStatic$1({
22
- ...options,
23
- getContent,
24
- join,
25
- isDir
26
- })(c, next);
27
- };
28
- };
29
- //#endregion
30
- export { serveStatic };
@@ -1,11 +0,0 @@
1
- //#region src/adapter/bun/server.ts
2
- /**
3
- * Get Bun Server Object from Context
4
- * @template T - The type of Bun Server
5
- * @param c Context
6
- * @returns Bun Server
7
- * @deprecated `hono/bun` will be removed in v5. Install `@hono/bun` and import from there instead.
8
- */
9
- const getBunServer = (c) => "server" in c.env ? c.env.server : c.env;
10
- //#endregion
11
- export { getBunServer };
@@ -1,27 +0,0 @@
1
- import { toSSG as toSSG$1 } from "../../helper/ssg/ssg.js";
2
- import "../../helper/ssg/index.js";
3
- //#region src/adapter/bun/ssg.ts
4
- const { write } = Bun;
5
- /**
6
- * @experimental
7
- * `bunFileSystemModule` is an experimental feature.
8
- * The API might be changed.
9
- * @deprecated `hono/bun` will be removed in v5. Install `@hono/bun` and import from there instead.
10
- */
11
- const bunFileSystemModule = {
12
- writeFile: async (path, data) => {
13
- await write(path, data);
14
- },
15
- mkdir: async () => {}
16
- };
17
- /**
18
- * @experimental
19
- * `toSSG` is an experimental feature.
20
- * The API might be changed.
21
- * @deprecated `hono/bun` will be removed in v5. Install `@hono/bun` and import from there instead.
22
- */
23
- const toSSG = async (app, options) => {
24
- return toSSG$1(app, bunFileSystemModule, options);
25
- };
26
- //#endregion
27
- export { bunFileSystemModule, toSSG };
@@ -1,66 +0,0 @@
1
- import { getBunServer } from "./server.js";
2
- import { WSContext, createWSMessageEvent, defineWebSocketHelper } from "../../helper/websocket/index.js";
3
- //#region src/adapter/bun/websocket.ts
4
- /**
5
- * @internal
6
- * @deprecated `hono/bun` will be removed in v5. Install `@hono/bun` and import from there instead.
7
- */
8
- const createWSContext = (ws) => {
9
- return new WSContext({
10
- send: (source, options) => {
11
- ws.send(source, options?.compress);
12
- },
13
- raw: ws,
14
- readyState: ws.readyState,
15
- url: ws.data.url,
16
- protocol: ws.data.protocol,
17
- close(code, reason) {
18
- ws.close(code, reason);
19
- }
20
- });
21
- };
22
- /**
23
- * @deprecated `hono/bun` will be removed in v5. Install `@hono/bun` and import from there instead.
24
- */
25
- const upgradeWebSocket = defineWebSocketHelper((c, events) => {
26
- const server = getBunServer(c);
27
- if (!server) throw new TypeError("env has to include the 2nd argument of fetch.");
28
- if (server.upgrade(c.req.raw, { data: {
29
- events,
30
- url: new URL(c.req.url),
31
- protocol: c.req.header("sec-websocket-protocol")?.split(",")[0]?.trim() ?? ""
32
- } })) return new Response(null);
33
- });
34
- /**
35
- * @deprecated `hono/bun` will be removed in v5. Install `@hono/bun` and import from there instead.
36
- */
37
- const websocket = {
38
- open(ws) {
39
- const websocketListeners = ws.data.events;
40
- if (websocketListeners.onOpen) websocketListeners.onOpen(new Event("open"), createWSContext(ws));
41
- },
42
- close(ws, code, reason) {
43
- const websocketListeners = ws.data.events;
44
- if (websocketListeners.onClose) websocketListeners.onClose(new CloseEvent("close", {
45
- code,
46
- reason
47
- }), createWSContext(ws));
48
- },
49
- message(ws, message) {
50
- const websocketListeners = ws.data.events;
51
- if (websocketListeners.onMessage) {
52
- const normalizedReceiveData = typeof message === "string" ? message : message.buffer;
53
- websocketListeners.onMessage(createWSMessageEvent(normalizedReceiveData), createWSContext(ws));
54
- }
55
- }
56
- };
57
- /**
58
- * @deprecated Import `upgradeWebSocket` and `websocket` directly from `hono/bun` instead.
59
- * @returns A function to create a Bun WebSocket handler.
60
- */
61
- const createBunWebSocket = () => ({
62
- upgradeWebSocket,
63
- websocket
64
- });
65
- //#endregion
66
- export { createBunWebSocket, createWSContext, upgradeWebSocket, websocket };
@@ -1,24 +0,0 @@
1
- //#region src/adapter/cloudflare-pages/conninfo.ts
2
- /**
3
- * Get connection information from Cloudflare Pages
4
- * @param c - Context
5
- * @returns Connection information including remote address
6
- * @example
7
- * ```ts
8
- * import { Hono } from 'hono'
9
- * import { handle, getConnInfo } from 'hono/cloudflare-pages'
10
- *
11
- * const app = new Hono()
12
- *
13
- * app.get('/', (c) => {
14
- * const info = getConnInfo(c)
15
- * return c.text(`Your IP: ${info.remote.address}`)
16
- * })
17
- *
18
- * export const onRequest = handle(app)
19
- * ```
20
- * @deprecated `hono/cloudflare-pages` will be removed in v5. Cloudflare recommends Workers with static assets; use `hono` on Workers instead.
21
- */
22
- const getConnInfo = (c) => ({ remote: { address: c.req.header("cf-connecting-ip") } });
23
- //#endregion
24
- export { getConnInfo };
@@ -1,64 +0,0 @@
1
- import { HTTPException } from "../../http-exception.js";
2
- import { Context } from "../../context.js";
3
- //#region src/adapter/cloudflare-pages/handler.ts
4
- /**
5
- * @deprecated `hono/cloudflare-pages` will be removed in v5. Cloudflare recommends Workers with static assets; use `hono` on Workers instead.
6
- */
7
- const handle = (app) => (eventContext) => {
8
- return app.fetch(eventContext.request, {
9
- ...eventContext.env,
10
- eventContext
11
- }, {
12
- waitUntil: eventContext.waitUntil,
13
- passThroughOnException: eventContext.passThroughOnException,
14
- props: {}
15
- });
16
- };
17
- /**
18
- * @deprecated `hono/cloudflare-pages` will be removed in v5. Cloudflare recommends Workers with static assets; use `hono` on Workers instead.
19
- */
20
- function handleMiddleware(middleware) {
21
- return async (executionCtx) => {
22
- const context = new Context(executionCtx.request, {
23
- env: {
24
- ...executionCtx.env,
25
- eventContext: executionCtx
26
- },
27
- executionCtx
28
- });
29
- let response = void 0;
30
- try {
31
- response = await middleware(context, async () => {
32
- try {
33
- context.res = await executionCtx.next();
34
- } catch (error) {
35
- if (error instanceof Error) context.error = error;
36
- else throw error;
37
- }
38
- });
39
- } catch (error) {
40
- if (error instanceof Error) context.error = error;
41
- else throw error;
42
- }
43
- if (response) return response;
44
- if (context.error instanceof HTTPException) return context.error.getResponse();
45
- if (context.error) throw context.error;
46
- return context.res;
47
- };
48
- }
49
- /**
50
- *
51
- * @description `serveStatic()` is for advanced mode:
52
- * https://developers.cloudflare.com/pages/platform/functions/advanced-mode/#set-up-a-function
53
- *
54
- * @deprecated `hono/cloudflare-pages` will be removed in v5. Cloudflare recommends Workers with static assets; use `hono` on Workers instead.
55
- */
56
- const serveStatic = () => {
57
- return async (c) => {
58
- const res = await c.env.ASSETS.fetch(c.req.raw);
59
- if (res.status === 404) return c.notFound();
60
- return res;
61
- };
62
- };
63
- //#endregion
64
- export { handle, handleMiddleware, serveStatic };
@@ -1,3 +0,0 @@
1
- import { getConnInfo } from "./conninfo.js";
2
- import { handle, handleMiddleware, serveStatic } from "./handler.js";
3
- export { getConnInfo, handle, handleMiddleware, serveStatic };
@@ -1,7 +0,0 @@
1
- //#region src/adapter/cloudflare-workers/conninfo.ts
2
- /**
3
- * @deprecated `hono/cloudflare-workers` will be removed in v5. Install `@hono/cloudflare-workers` and import from there instead.
4
- */
5
- const getConnInfo = (c) => ({ remote: { address: c.req.header("cf-connecting-ip") } });
6
- //#endregion
7
- export { getConnInfo };
@@ -1,4 +0,0 @@
1
- import { getConnInfo } from "./conninfo.js";
2
- import { serveStatic as module } from "./serve-static-module.js";
3
- import { upgradeWebSocket } from "./websocket.js";
4
- export { getConnInfo, module as serveStatic, upgradeWebSocket };
@@ -1,7 +0,0 @@
1
- import { serveStatic } from "./serve-static.js";
2
- //#region src/adapter/cloudflare-workers/serve-static-module.ts
3
- const module = (options) => {
4
- return serveStatic(options);
5
- };
6
- //#endregion
7
- export { module as serveStatic };