gitextract_1kthqqhw/ ├── .devcontainer/ │ ├── Dockerfile │ ├── devcontainer.json │ └── docker-compose.yml ├── .editorconfig ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── 1-bug-report.yml │ │ ├── 2-feature-request.yml │ │ └── config.yml │ ├── actions/ │ │ └── perf-measures/ │ │ └── action.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── autofix.yml │ ├── ci.yml │ ├── cr.yml │ ├── no-response.yml │ └── release.yml ├── .gitignore ├── .gitpod.yml ├── .prettierrc ├── .tool-versions ├── .vitest.config/ │ └── setup-vitest.ts ├── .vscode/ │ ├── extensions.json │ └── settings.json ├── LICENSE ├── README.md ├── benchmarks/ │ ├── deno/ │ │ ├── .gitignore │ │ ├── .vscode/ │ │ │ └── settings.json │ │ ├── fast.ts │ │ ├── faster.ts │ │ ├── hono.ts │ │ ├── magalo.ts │ │ ├── oak.ts │ │ └── opine.ts │ ├── handle-event/ │ │ ├── index.js │ │ └── package.json │ ├── http-server/ │ │ ├── .gitignore │ │ ├── README.md │ │ └── benchmark.ts │ ├── jsx/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── benchmark.ts │ │ │ ├── hono.ts │ │ │ ├── nano.ts │ │ │ ├── page-react.tsx │ │ │ ├── page.tsx │ │ │ ├── preact.ts │ │ │ ├── react-jsx/ │ │ │ │ ├── benchmark.ts │ │ │ │ ├── hono.ts │ │ │ │ ├── nano.ts │ │ │ │ ├── page-hono.tsx │ │ │ │ ├── page-nano.tsx │ │ │ │ ├── page-preact.tsx │ │ │ │ ├── page-react.tsx │ │ │ │ ├── preact.ts │ │ │ │ ├── react.ts │ │ │ │ └── tsconfig.json │ │ │ └── react.ts │ │ └── tsconfig.json │ ├── query-param/ │ │ ├── bun.lockb │ │ ├── package.json │ │ └── src/ │ │ ├── bench.mts │ │ ├── fast-querystring.mts │ │ ├── hono.mts │ │ └── qs.mts │ ├── routers/ │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── bench-includes-init.mts │ │ │ ├── bench.mts │ │ │ ├── express.mts │ │ │ ├── find-my-way.mts │ │ │ ├── hono.mts │ │ │ ├── koa-router.mts │ │ │ ├── koa-tree-router.mts │ │ │ ├── medley-router.mts │ │ │ ├── memoirist.mts │ │ │ ├── radix3.mts │ │ │ ├── rou3.mts │ │ │ ├── tool.mts │ │ │ └── trek-router.mts │ │ └── tsconfig.json │ ├── routers-deno/ │ │ ├── .vscode/ │ │ │ └── settings.json │ │ ├── README.md │ │ ├── deno.json │ │ └── src/ │ │ ├── bench.mts │ │ ├── find-my-way.mts │ │ ├── hono.mts │ │ ├── koa-router.mts │ │ ├── koa-tree-router.mts │ │ ├── medley-router.mts │ │ ├── tool.mts │ │ └── trek-router.mts │ ├── utils/ │ │ ├── .gitignore │ │ ├── package.json │ │ └── src/ │ │ ├── get-path.ts │ │ └── loop.js │ └── webapp/ │ ├── .gitignore │ ├── hono.js │ ├── itty-router.js │ ├── package.json │ └── sunder.js ├── build/ │ ├── build.ts │ ├── remove-private-fields.test.ts │ ├── remove-private-fields.ts │ ├── validate-exports.test.ts │ └── validate-exports.ts ├── bunfig.toml ├── codecov.yml ├── docs/ │ ├── CODE_OF_CONDUCT.md │ ├── CONTRIBUTING.md │ ├── MIGRATION.md │ └── images/ │ ├── hono-logo.pxm │ └── hono-title.pxm ├── eslint.config.mjs ├── jsr.json ├── package.cjs.json ├── package.json ├── perf-measures/ │ ├── .octocov.consolidated.perf-measures.main.yml │ ├── .octocov.consolidated.perf-measures.yml │ ├── bundle-check/ │ │ ├── .gitignore │ │ └── scripts/ │ │ └── check-bundle-size.ts │ └── type-check/ │ ├── .gitignore │ ├── client.ts │ ├── scripts/ │ │ ├── generate-app.ts │ │ ├── process-results.ts │ │ └── tsconfig.json │ └── tsconfig.build.json ├── runtime-tests/ │ ├── bun/ │ │ ├── .static/ │ │ │ └── plain.txt │ │ ├── color.test.ts │ │ ├── index.test.tsx │ │ ├── static/ │ │ │ ├── download │ │ │ ├── hello.world/ │ │ │ │ └── index.html │ │ │ ├── helloworld/ │ │ │ │ └── index.html │ │ │ └── plain.txt │ │ ├── static-absolute-root/ │ │ │ └── plain.txt │ │ └── tsconfig.json │ ├── deno/ │ │ ├── .static/ │ │ │ └── plain.txt │ │ ├── .vscode/ │ │ │ └── settings.json │ │ ├── deno.json │ │ ├── hono.test.ts │ │ ├── middleware.test.tsx │ │ ├── ssg.test.tsx │ │ ├── static/ │ │ │ ├── download │ │ │ ├── hello.world/ │ │ │ │ └── index.html │ │ │ ├── helloworld/ │ │ │ │ └── index.html │ │ │ └── plain.txt │ │ ├── static-absolute-root/ │ │ │ └── plain.txt │ │ └── stream.test.ts │ ├── deno-jsx/ │ │ ├── deno.precompile.json │ │ ├── deno.react-jsx.json │ │ └── jsx.test.tsx │ ├── fastly/ │ │ ├── index.test.ts │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── lambda/ │ │ ├── index.test.ts │ │ ├── mock.ts │ │ ├── stream-mock.ts │ │ ├── stream.test.ts │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── lambda-edge/ │ │ ├── index.test.ts │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── node/ │ │ ├── index.test.ts │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ └── workerd/ │ ├── index.test.ts │ ├── index.ts │ ├── tsconfig.json │ └── vitest.config.ts ├── src/ │ ├── adapter/ │ │ ├── aws-lambda/ │ │ │ ├── conninfo.test.ts │ │ │ ├── conninfo.ts │ │ │ ├── handler.test.ts │ │ │ ├── handler.ts │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── bun/ │ │ │ ├── conninfo.test.ts │ │ │ ├── conninfo.ts │ │ │ ├── index.ts │ │ │ ├── serve-static.ts │ │ │ ├── server.test.ts │ │ │ ├── server.ts │ │ │ ├── ssg.ts │ │ │ ├── websocket.test.ts │ │ │ └── websocket.ts │ │ ├── cloudflare-pages/ │ │ │ ├── conninfo.test.ts │ │ │ ├── conninfo.ts │ │ │ ├── handler.test.ts │ │ │ ├── handler.ts │ │ │ └── index.ts │ │ ├── cloudflare-workers/ │ │ │ ├── conninfo.test.ts │ │ │ ├── conninfo.ts │ │ │ ├── index.ts │ │ │ ├── serve-static-module.ts │ │ │ ├── serve-static.test.ts │ │ │ ├── serve-static.ts │ │ │ ├── utils.test.ts │ │ │ ├── utils.ts │ │ │ ├── websocket.test.ts │ │ │ └── websocket.ts │ │ ├── deno/ │ │ │ ├── conninfo.test.ts │ │ │ ├── conninfo.ts │ │ │ ├── deno.d.ts │ │ │ ├── index.ts │ │ │ ├── serve-static.ts │ │ │ ├── ssg.ts │ │ │ ├── websocket.test.ts │ │ │ └── websocket.ts │ │ ├── lambda-edge/ │ │ │ ├── conninfo.test.ts │ │ │ ├── conninfo.ts │ │ │ ├── handler.test.ts │ │ │ ├── handler.ts │ │ │ └── index.ts │ │ ├── netlify/ │ │ │ ├── conninfo.test.ts │ │ │ ├── conninfo.ts │ │ │ ├── handler.ts │ │ │ ├── index.ts │ │ │ └── mod.ts │ │ ├── service-worker/ │ │ │ ├── handler.test.ts │ │ │ ├── handler.ts │ │ │ ├── index.ts │ │ │ └── types.ts │ │ └── vercel/ │ │ ├── conninfo.test.ts │ │ ├── conninfo.ts │ │ ├── handler.test.ts │ │ ├── handler.ts │ │ └── index.ts │ ├── client/ │ │ ├── client.test.ts │ │ ├── client.ts │ │ ├── fetch-result-please.ts │ │ ├── index.ts │ │ ├── types.test.ts │ │ ├── types.ts │ │ ├── utils.test.ts │ │ └── utils.ts │ ├── compose.test.ts │ ├── compose.ts │ ├── context.test.ts │ ├── context.ts │ ├── helper/ │ │ ├── accepts/ │ │ │ ├── accepts.test.ts │ │ │ ├── accepts.ts │ │ │ └── index.ts │ │ ├── adapter/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── conninfo/ │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── cookie/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── css/ │ │ │ ├── common.case.test.tsx │ │ │ ├── common.ts │ │ │ ├── index.test.tsx │ │ │ └── index.ts │ │ ├── dev/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── factory/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── html/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── proxy/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── route/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── ssg/ │ │ │ ├── index.ts │ │ │ ├── middleware.ts │ │ │ ├── plugins.test.tsx │ │ │ ├── plugins.ts │ │ │ ├── ssg.test.tsx │ │ │ ├── ssg.ts │ │ │ ├── utils.test.ts │ │ │ └── utils.ts │ │ ├── streaming/ │ │ │ ├── index.ts │ │ │ ├── sse.test.tsx │ │ │ ├── sse.ts │ │ │ ├── stream.test.ts │ │ │ ├── stream.ts │ │ │ ├── text.test.ts │ │ │ ├── text.ts │ │ │ └── utils.ts │ │ ├── testing/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ └── websocket/ │ │ ├── index.test.ts │ │ └── index.ts │ ├── hono-base.ts │ ├── hono.test.ts │ ├── hono.ts │ ├── http-exception.test.ts │ ├── http-exception.ts │ ├── index.ts │ ├── jsx/ │ │ ├── base.test.tsx │ │ ├── base.ts │ │ ├── children.test.ts │ │ ├── children.ts │ │ ├── components.test.tsx │ │ ├── components.ts │ │ ├── constants.ts │ │ ├── context.ts │ │ ├── dom/ │ │ │ ├── client.test.tsx │ │ │ ├── client.ts │ │ │ ├── components.test.tsx │ │ │ ├── components.ts │ │ │ ├── context.test.tsx │ │ │ ├── context.ts │ │ │ ├── css.test.tsx │ │ │ ├── css.ts │ │ │ ├── hooks/ │ │ │ │ ├── index.test.tsx │ │ │ │ └── index.ts │ │ │ ├── index.test.tsx │ │ │ ├── index.ts │ │ │ ├── intrinsic-element/ │ │ │ │ ├── components.test.tsx │ │ │ │ └── components.ts │ │ │ ├── jsx-dev-runtime.ts │ │ │ ├── jsx-runtime.ts │ │ │ ├── render.ts │ │ │ ├── server.test.tsx │ │ │ ├── server.ts │ │ │ └── utils.ts │ │ ├── hooks/ │ │ │ ├── dom.test.tsx │ │ │ ├── index.ts │ │ │ └── string.test.tsx │ │ ├── index.test.tsx │ │ ├── index.ts │ │ ├── intrinsic-element/ │ │ │ ├── common.ts │ │ │ ├── components.test.tsx │ │ │ └── components.ts │ │ ├── intrinsic-elements.ts │ │ ├── jsx-dev-runtime.ts │ │ ├── jsx-runtime.test.tsx │ │ ├── jsx-runtime.ts │ │ ├── streaming.test.tsx │ │ ├── streaming.ts │ │ ├── types.ts │ │ ├── utils.test.ts │ │ └── utils.ts │ ├── middleware/ │ │ ├── basic-auth/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── bearer-auth/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── body-limit/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── cache/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── combine/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── compress/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── context-storage/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── cors/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── csrf/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── etag/ │ │ │ ├── digest.ts │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── ip-restriction/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── jsx-renderer/ │ │ │ ├── index.test.tsx │ │ │ └── index.ts │ │ ├── jwk/ │ │ │ ├── index.test.ts │ │ │ ├── index.ts │ │ │ ├── jwk.ts │ │ │ └── keys.test.json │ │ ├── jwt/ │ │ │ ├── index.test.ts │ │ │ ├── index.ts │ │ │ └── jwt.ts │ │ ├── language/ │ │ │ ├── index.test.ts │ │ │ ├── index.ts │ │ │ └── language.ts │ │ ├── logger/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── method-override/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── powered-by/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── pretty-json/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── request-id/ │ │ │ ├── index.test.ts │ │ │ ├── index.ts │ │ │ └── request-id.ts │ │ ├── secure-headers/ │ │ │ ├── index.test.ts │ │ │ ├── index.ts │ │ │ ├── permissions-policy.ts │ │ │ └── secure-headers.ts │ │ ├── serve-static/ │ │ │ ├── index.test.ts │ │ │ ├── index.ts │ │ │ ├── path.test.ts │ │ │ └── path.ts │ │ ├── timeout/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── timing/ │ │ │ ├── index.test.ts │ │ │ ├── index.ts │ │ │ └── timing.ts │ │ └── trailing-slash/ │ │ ├── index.test.ts │ │ └── index.ts │ ├── preset/ │ │ ├── quick.test.ts │ │ ├── quick.ts │ │ ├── tiny.test.ts │ │ └── tiny.ts │ ├── request/ │ │ └── constants.ts │ ├── request.test.ts │ ├── request.ts │ ├── router/ │ │ ├── common.case.test.ts │ │ ├── linear-router/ │ │ │ ├── index.ts │ │ │ ├── router.test.ts │ │ │ └── router.ts │ │ ├── pattern-router/ │ │ │ ├── index.ts │ │ │ ├── router.test.ts │ │ │ └── router.ts │ │ ├── reg-exp-router/ │ │ │ ├── index.ts │ │ │ ├── matcher.ts │ │ │ ├── node.ts │ │ │ ├── prepared-router.test.ts │ │ │ ├── prepared-router.ts │ │ │ ├── router.test.ts │ │ │ ├── router.ts │ │ │ └── trie.ts │ │ ├── smart-router/ │ │ │ ├── index.ts │ │ │ ├── router.test.ts │ │ │ └── router.ts │ │ └── trie-router/ │ │ ├── index.ts │ │ ├── node.test.ts │ │ ├── node.ts │ │ ├── router.test.ts │ │ └── router.ts │ ├── router.ts │ ├── types.test.ts │ ├── types.ts │ ├── utils/ │ │ ├── accept.test.ts │ │ ├── accept.ts │ │ ├── basic-auth.test.ts │ │ ├── basic-auth.ts │ │ ├── body.test.ts │ │ ├── body.ts │ │ ├── buffer.test.ts │ │ ├── buffer.ts │ │ ├── color.test.ts │ │ ├── color.ts │ │ ├── compress.ts │ │ ├── concurrent.test.ts │ │ ├── concurrent.ts │ │ ├── constants.ts │ │ ├── cookie.test.ts │ │ ├── cookie.ts │ │ ├── crypto.test.ts │ │ ├── crypto.ts │ │ ├── encode.test.ts │ │ ├── encode.ts │ │ ├── filepath.test.ts │ │ ├── filepath.ts │ │ ├── handler.ts │ │ ├── headers.ts │ │ ├── html.test.ts │ │ ├── html.ts │ │ ├── http-status.ts │ │ ├── ipaddr.test.ts │ │ ├── ipaddr.ts │ │ ├── jwt/ │ │ │ ├── index.ts │ │ │ ├── jwa.test.ts │ │ │ ├── jwa.ts │ │ │ ├── jws.ts │ │ │ ├── jwt.test.ts │ │ │ ├── jwt.ts │ │ │ ├── types.ts │ │ │ └── utf8.ts │ │ ├── mime.test.ts │ │ ├── mime.ts │ │ ├── stream.test.ts │ │ ├── stream.ts │ │ ├── types.test.ts │ │ ├── types.ts │ │ ├── url.test.ts │ │ └── url.ts │ └── validator/ │ ├── index.ts │ ├── utils.test.ts │ ├── utils.ts │ ├── validator.test.ts │ └── validator.ts ├── tsconfig.base.json ├── tsconfig.build.json ├── tsconfig.json ├── tsconfig.spec.json └── vitest.config.ts