@depup/hono 4.12.8-depup.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.
- package/LICENSE +21 -0
- package/README.md +25 -0
- package/changes.json +5 -0
- package/dist/adapter/aws-lambda/conninfo.js +24 -0
- package/dist/adapter/aws-lambda/handler.js +366 -0
- package/dist/adapter/aws-lambda/index.js +9 -0
- package/dist/adapter/aws-lambda/types.js +0 -0
- package/dist/adapter/bun/conninfo.js +27 -0
- package/dist/adapter/bun/index.js +16 -0
- package/dist/adapter/bun/serve-static.js +30 -0
- package/dist/adapter/bun/server.js +5 -0
- package/dist/adapter/bun/ssg.js +17 -0
- package/dist/adapter/bun/websocket.js +71 -0
- package/dist/adapter/cloudflare-pages/conninfo.js +9 -0
- package/dist/adapter/cloudflare-pages/handler.js +67 -0
- package/dist/adapter/cloudflare-pages/index.js +9 -0
- package/dist/adapter/cloudflare-workers/conninfo.js +9 -0
- package/dist/adapter/cloudflare-workers/index.js +9 -0
- package/dist/adapter/cloudflare-workers/serve-static-module.js +8 -0
- package/dist/adapter/cloudflare-workers/serve-static.js +22 -0
- package/dist/adapter/cloudflare-workers/utils.js +35 -0
- package/dist/adapter/cloudflare-workers/websocket.js +41 -0
- package/dist/adapter/deno/conninfo.js +14 -0
- package/dist/adapter/deno/deno.d.js +0 -0
- package/dist/adapter/deno/index.js +12 -0
- package/dist/adapter/deno/serve-static.js +40 -0
- package/dist/adapter/deno/ssg.js +18 -0
- package/dist/adapter/deno/websocket.js +28 -0
- package/dist/adapter/lambda-edge/conninfo.js +9 -0
- package/dist/adapter/lambda-edge/handler.js +80 -0
- package/dist/adapter/lambda-edge/index.js +7 -0
- package/dist/adapter/netlify/conninfo.js +9 -0
- package/dist/adapter/netlify/handler.js +9 -0
- package/dist/adapter/netlify/index.js +2 -0
- package/dist/adapter/netlify/mod.js +7 -0
- package/dist/adapter/service-worker/handler.js +20 -0
- package/dist/adapter/service-worker/index.js +11 -0
- package/dist/adapter/service-worker/types.js +0 -0
- package/dist/adapter/vercel/conninfo.js +10 -0
- package/dist/adapter/vercel/handler.js +7 -0
- package/dist/adapter/vercel/index.js +7 -0
- package/dist/cjs/adapter/aws-lambda/conninfo.js +46 -0
- package/dist/cjs/adapter/aws-lambda/handler.js +397 -0
- package/dist/cjs/adapter/aws-lambda/index.js +34 -0
- package/dist/cjs/adapter/aws-lambda/types.js +15 -0
- package/dist/cjs/adapter/bun/conninfo.js +49 -0
- package/dist/cjs/adapter/bun/index.js +45 -0
- package/dist/cjs/adapter/bun/serve-static.js +52 -0
- package/dist/cjs/adapter/bun/server.js +27 -0
- package/dist/cjs/adapter/bun/ssg.js +40 -0
- package/dist/cjs/adapter/bun/websocket.js +96 -0
- package/dist/cjs/adapter/cloudflare-pages/conninfo.js +31 -0
- package/dist/cjs/adapter/cloudflare-pages/handler.js +91 -0
- package/dist/cjs/adapter/cloudflare-pages/index.js +34 -0
- package/dist/cjs/adapter/cloudflare-workers/conninfo.js +31 -0
- package/dist/cjs/adapter/cloudflare-workers/index.js +33 -0
- package/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +30 -0
- package/dist/cjs/adapter/cloudflare-workers/serve-static.js +44 -0
- package/dist/cjs/adapter/cloudflare-workers/utils.js +57 -0
- package/dist/cjs/adapter/cloudflare-workers/websocket.js +63 -0
- package/dist/cjs/adapter/deno/conninfo.js +36 -0
- package/dist/cjs/adapter/deno/deno.d.js +0 -0
- package/dist/cjs/adapter/deno/index.js +38 -0
- package/dist/cjs/adapter/deno/serve-static.js +62 -0
- package/dist/cjs/adapter/deno/ssg.js +41 -0
- package/dist/cjs/adapter/deno/websocket.js +50 -0
- package/dist/cjs/adapter/lambda-edge/conninfo.js +31 -0
- package/dist/cjs/adapter/lambda-edge/handler.js +114 -0
- package/dist/cjs/adapter/lambda-edge/index.js +30 -0
- package/dist/cjs/adapter/netlify/conninfo.js +31 -0
- package/dist/cjs/adapter/netlify/handler.js +31 -0
- package/dist/cjs/adapter/netlify/index.js +21 -0
- package/dist/cjs/adapter/netlify/mod.js +30 -0
- package/dist/cjs/adapter/service-worker/handler.js +42 -0
- package/dist/cjs/adapter/service-worker/index.js +34 -0
- package/dist/cjs/adapter/service-worker/types.js +15 -0
- package/dist/cjs/adapter/vercel/conninfo.js +32 -0
- package/dist/cjs/adapter/vercel/handler.js +29 -0
- package/dist/cjs/adapter/vercel/index.js +30 -0
- package/dist/cjs/client/client.js +195 -0
- package/dist/cjs/client/fetch-result-please.js +85 -0
- package/dist/cjs/client/index.js +32 -0
- package/dist/cjs/client/types.js +15 -0
- package/dist/cjs/client/utils.js +105 -0
- package/dist/cjs/compose.js +68 -0
- package/dist/cjs/context.js +435 -0
- package/dist/cjs/helper/accepts/accepts.js +43 -0
- package/dist/cjs/helper/accepts/index.js +27 -0
- package/dist/cjs/helper/adapter/index.js +81 -0
- package/dist/cjs/helper/conninfo/index.js +15 -0
- package/dist/cjs/helper/conninfo/types.js +15 -0
- package/dist/cjs/helper/cookie/index.js +130 -0
- package/dist/cjs/helper/css/common.js +222 -0
- package/dist/cjs/helper/css/index.js +142 -0
- package/dist/cjs/helper/dev/index.js +79 -0
- package/dist/cjs/helper/factory/index.js +54 -0
- package/dist/cjs/helper/html/index.js +64 -0
- package/dist/cjs/helper/proxy/index.js +111 -0
- package/dist/cjs/helper/route/index.js +71 -0
- package/dist/cjs/helper/ssg/index.js +43 -0
- package/dist/cjs/helper/ssg/middleware.js +73 -0
- package/dist/cjs/helper/ssg/plugins.js +70 -0
- package/dist/cjs/helper/ssg/ssg.js +316 -0
- package/dist/cjs/helper/ssg/utils.js +84 -0
- package/dist/cjs/helper/streaming/index.js +35 -0
- package/dist/cjs/helper/streaming/sse.js +90 -0
- package/dist/cjs/helper/streaming/stream.js +56 -0
- package/dist/cjs/helper/streaming/text.js +34 -0
- package/dist/cjs/helper/streaming/utils.js +35 -0
- package/dist/cjs/helper/testing/index.js +33 -0
- package/dist/cjs/helper/websocket/index.js +81 -0
- package/dist/cjs/hono-base.js +400 -0
- package/dist/cjs/hono.js +43 -0
- package/dist/cjs/http-exception.js +57 -0
- package/dist/cjs/index.js +27 -0
- package/dist/cjs/jsx/base.js +374 -0
- package/dist/cjs/jsx/children.js +44 -0
- package/dist/cjs/jsx/components.js +201 -0
- package/dist/cjs/jsx/constants.js +42 -0
- package/dist/cjs/jsx/context.js +62 -0
- package/dist/cjs/jsx/dom/client.js +76 -0
- package/dist/cjs/jsx/dom/components.js +55 -0
- package/dist/cjs/jsx/dom/context.js +71 -0
- package/dist/cjs/jsx/dom/css.js +161 -0
- package/dist/cjs/jsx/dom/hooks/index.js +74 -0
- package/dist/cjs/jsx/dom/index.js +181 -0
- package/dist/cjs/jsx/dom/intrinsic-element/components.js +399 -0
- package/dist/cjs/jsx/dom/jsx-dev-runtime.js +52 -0
- package/dist/cjs/jsx/dom/jsx-runtime.js +32 -0
- package/dist/cjs/jsx/dom/render.js +619 -0
- package/dist/cjs/jsx/dom/server.js +67 -0
- package/dist/cjs/jsx/dom/utils.js +32 -0
- package/dist/cjs/jsx/hooks/index.js +370 -0
- package/dist/cjs/jsx/index.js +138 -0
- package/dist/cjs/jsx/intrinsic-element/common.js +50 -0
- package/dist/cjs/jsx/intrinsic-element/components.js +189 -0
- package/dist/cjs/jsx/intrinsic-elements.js +15 -0
- package/dist/cjs/jsx/jsx-dev-runtime.js +41 -0
- package/dist/cjs/jsx/jsx-runtime.js +68 -0
- package/dist/cjs/jsx/streaming.js +177 -0
- package/dist/cjs/jsx/types.js +15 -0
- package/dist/cjs/jsx/utils.js +50 -0
- package/dist/cjs/middleware/basic-auth/index.js +88 -0
- package/dist/cjs/middleware/bearer-auth/index.js +114 -0
- package/dist/cjs/middleware/body-limit/index.js +84 -0
- package/dist/cjs/middleware/cache/index.js +111 -0
- package/dist/cjs/middleware/combine/index.js +101 -0
- package/dist/cjs/middleware/compress/index.js +61 -0
- package/dist/cjs/middleware/context-storage/index.js +47 -0
- package/dist/cjs/middleware/cors/index.js +109 -0
- package/dist/cjs/middleware/csrf/index.js +77 -0
- package/dist/cjs/middleware/etag/digest.js +55 -0
- package/dist/cjs/middleware/etag/index.js +95 -0
- package/dist/cjs/middleware/ip-restriction/index.js +124 -0
- package/dist/cjs/middleware/jsx-renderer/index.js +82 -0
- package/dist/cjs/middleware/jwk/index.js +27 -0
- package/dist/cjs/middleware/jwk/jwk.js +134 -0
- package/dist/cjs/middleware/jwt/index.js +38 -0
- package/dist/cjs/middleware/jwt/jwt.js +140 -0
- package/dist/cjs/middleware/language/index.js +35 -0
- package/dist/cjs/middleware/language/language.js +221 -0
- package/dist/cjs/middleware/logger/index.js +72 -0
- package/dist/cjs/middleware/method-override/index.js +104 -0
- package/dist/cjs/middleware/powered-by/index.js +32 -0
- package/dist/cjs/middleware/pretty-json/index.js +37 -0
- package/dist/cjs/middleware/request-id/index.js +27 -0
- package/dist/cjs/middleware/request-id/request-id.js +43 -0
- package/dist/cjs/middleware/secure-headers/index.js +29 -0
- package/dist/cjs/middleware/secure-headers/permissions-policy.js +15 -0
- package/dist/cjs/middleware/secure-headers/secure-headers.js +189 -0
- package/dist/cjs/middleware/serve-static/index.js +99 -0
- package/dist/cjs/middleware/serve-static/path.js +40 -0
- package/dist/cjs/middleware/timeout/index.js +47 -0
- package/dist/cjs/middleware/timing/index.js +35 -0
- package/dist/cjs/middleware/timing/timing.js +128 -0
- package/dist/cjs/middleware/trailing-slash/index.js +62 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/preset/quick.js +38 -0
- package/dist/cjs/preset/tiny.js +34 -0
- package/dist/cjs/request/constants.js +27 -0
- package/dist/cjs/request.js +324 -0
- package/dist/cjs/router/linear-router/index.js +27 -0
- package/dist/cjs/router/linear-router/router.js +140 -0
- package/dist/cjs/router/pattern-router/index.js +27 -0
- package/dist/cjs/router/pattern-router/router.js +70 -0
- package/dist/cjs/router/reg-exp-router/index.js +34 -0
- package/dist/cjs/router/reg-exp-router/matcher.js +48 -0
- package/dist/cjs/router/reg-exp-router/node.js +134 -0
- package/dist/cjs/router/reg-exp-router/prepared-router.js +166 -0
- package/dist/cjs/router/reg-exp-router/router.js +208 -0
- package/dist/cjs/router/reg-exp-router/trie.js +81 -0
- package/dist/cjs/router/smart-router/index.js +27 -0
- package/dist/cjs/router/smart-router/router.js +80 -0
- package/dist/cjs/router/trie-router/index.js +27 -0
- package/dist/cjs/router/trie-router/node.js +201 -0
- package/dist/cjs/router/trie-router/router.js +48 -0
- package/dist/cjs/router.js +40 -0
- package/dist/cjs/types.js +28 -0
- package/dist/cjs/utils/accept.js +245 -0
- package/dist/cjs/utils/basic-auth.js +45 -0
- package/dist/cjs/utils/body.js +97 -0
- package/dist/cjs/utils/buffer.js +102 -0
- package/dist/cjs/utils/color.js +48 -0
- package/dist/cjs/utils/compress.js +27 -0
- package/dist/cjs/utils/concurrent.js +61 -0
- package/dist/cjs/utils/constants.js +27 -0
- package/dist/cjs/utils/cookie.js +177 -0
- package/dist/cjs/utils/crypto.js +69 -0
- package/dist/cjs/utils/encode.js +54 -0
- package/dist/cjs/utils/filepath.js +58 -0
- package/dist/cjs/utils/handler.js +36 -0
- package/dist/cjs/utils/headers.js +15 -0
- package/dist/cjs/utils/html.js +150 -0
- package/dist/cjs/utils/http-status.js +15 -0
- package/dist/cjs/utils/ipaddr.js +129 -0
- package/dist/cjs/utils/jwt/index.js +28 -0
- package/dist/cjs/utils/jwt/jwa.js +42 -0
- package/dist/cjs/utils/jwt/jws.js +215 -0
- package/dist/cjs/utils/jwt/jwt.js +213 -0
- package/dist/cjs/utils/jwt/types.js +161 -0
- package/dist/cjs/utils/jwt/utf8.js +30 -0
- package/dist/cjs/utils/mime.js +108 -0
- package/dist/cjs/utils/stream.js +101 -0
- package/dist/cjs/utils/types.js +15 -0
- package/dist/cjs/utils/url.js +256 -0
- package/dist/cjs/validator/index.js +27 -0
- package/dist/cjs/validator/utils.js +15 -0
- package/dist/cjs/validator/validator.js +108 -0
- package/dist/client/client.js +180 -0
- package/dist/client/fetch-result-please.js +62 -0
- package/dist/client/index.js +8 -0
- package/dist/client/types.js +0 -0
- package/dist/client/utils.js +76 -0
- package/dist/compose.js +46 -0
- package/dist/context.js +412 -0
- package/dist/helper/accepts/accepts.js +20 -0
- package/dist/helper/accepts/index.js +5 -0
- package/dist/helper/adapter/index.js +56 -0
- package/dist/helper/conninfo/index.js +0 -0
- package/dist/helper/conninfo/types.js +0 -0
- package/dist/helper/cookie/index.js +102 -0
- package/dist/helper/css/common.js +185 -0
- package/dist/helper/css/index.js +125 -0
- package/dist/helper/dev/index.js +55 -0
- package/dist/helper/factory/index.js +30 -0
- package/dist/helper/html/index.js +41 -0
- package/dist/helper/proxy/index.js +89 -0
- package/dist/helper/route/index.js +46 -0
- package/dist/helper/ssg/index.js +19 -0
- package/dist/helper/ssg/middleware.js +45 -0
- package/dist/helper/ssg/plugins.js +47 -0
- package/dist/helper/ssg/ssg.js +287 -0
- package/dist/helper/ssg/utils.js +59 -0
- package/dist/helper/streaming/index.js +10 -0
- package/dist/helper/streaming/sse.js +67 -0
- package/dist/helper/streaming/stream.js +34 -0
- package/dist/helper/streaming/text.js +12 -0
- package/dist/helper/streaming/utils.js +13 -0
- package/dist/helper/testing/index.js +11 -0
- package/dist/helper/websocket/index.js +57 -0
- package/dist/hono-base.js +378 -0
- package/dist/hono.js +21 -0
- package/dist/http-exception.js +35 -0
- package/dist/index.js +5 -0
- package/dist/jsx/base.js +331 -0
- package/dist/jsx/children.js +21 -0
- package/dist/jsx/components.js +178 -0
- package/dist/jsx/constants.js +15 -0
- package/dist/jsx/context.js +38 -0
- package/dist/jsx/dom/client.js +53 -0
- package/dist/jsx/dom/components.js +32 -0
- package/dist/jsx/dom/context.js +48 -0
- package/dist/jsx/dom/css.js +143 -0
- package/dist/jsx/dom/hooks/index.js +48 -0
- package/dist/jsx/dom/index.js +142 -0
- package/dist/jsx/dom/intrinsic-element/components.js +374 -0
- package/dist/jsx/dom/jsx-dev-runtime.js +19 -0
- package/dist/jsx/dom/jsx-runtime.js +8 -0
- package/dist/jsx/dom/render.js +595 -0
- package/dist/jsx/dom/server.js +33 -0
- package/dist/jsx/dom/utils.js +10 -0
- package/dist/jsx/hooks/index.js +328 -0
- package/dist/jsx/index.js +103 -0
- package/dist/jsx/intrinsic-element/common.js +24 -0
- package/dist/jsx/intrinsic-element/components.js +165 -0
- package/dist/jsx/intrinsic-elements.js +0 -0
- package/dist/jsx/jsx-dev-runtime.js +18 -0
- package/dist/jsx/jsx-runtime.js +41 -0
- package/dist/jsx/streaming.js +153 -0
- package/dist/jsx/types.js +0 -0
- package/dist/jsx/utils.js +27 -0
- package/dist/middleware/basic-auth/index.js +66 -0
- package/dist/middleware/bearer-auth/index.js +92 -0
- package/dist/middleware/body-limit/index.js +62 -0
- package/dist/middleware/cache/index.js +89 -0
- package/dist/middleware/combine/index.js +77 -0
- package/dist/middleware/compress/index.js +39 -0
- package/dist/middleware/context-storage/index.js +23 -0
- package/dist/middleware/cors/index.js +87 -0
- package/dist/middleware/csrf/index.js +55 -0
- package/dist/middleware/etag/digest.js +33 -0
- package/dist/middleware/etag/index.js +72 -0
- package/dist/middleware/ip-restriction/index.js +107 -0
- package/dist/middleware/jsx-renderer/index.js +58 -0
- package/dist/middleware/jwk/index.js +5 -0
- package/dist/middleware/jwk/jwk.js +112 -0
- package/dist/middleware/jwt/index.js +11 -0
- package/dist/middleware/jwt/jwt.js +114 -0
- package/dist/middleware/language/index.js +15 -0
- package/dist/middleware/language/language.js +190 -0
- package/dist/middleware/logger/index.js +44 -0
- package/dist/middleware/method-override/index.js +82 -0
- package/dist/middleware/powered-by/index.js +10 -0
- package/dist/middleware/pretty-json/index.js +15 -0
- package/dist/middleware/request-id/index.js +5 -0
- package/dist/middleware/request-id/request-id.js +21 -0
- package/dist/middleware/secure-headers/index.js +6 -0
- package/dist/middleware/secure-headers/permissions-policy.js +0 -0
- package/dist/middleware/secure-headers/secure-headers.js +166 -0
- package/dist/middleware/serve-static/index.js +77 -0
- package/dist/middleware/serve-static/path.js +18 -0
- package/dist/middleware/timeout/index.js +25 -0
- package/dist/middleware/timing/index.js +9 -0
- package/dist/middleware/timing/timing.js +102 -0
- package/dist/middleware/trailing-slash/index.js +39 -0
- package/dist/preset/quick.js +16 -0
- package/dist/preset/tiny.js +12 -0
- package/dist/request/constants.js +5 -0
- package/dist/request.js +301 -0
- package/dist/router/linear-router/index.js +5 -0
- package/dist/router/linear-router/router.js +118 -0
- package/dist/router/pattern-router/index.js +5 -0
- package/dist/router/pattern-router/router.js +48 -0
- package/dist/router/reg-exp-router/index.js +9 -0
- package/dist/router/reg-exp-router/matcher.js +25 -0
- package/dist/router/reg-exp-router/node.js +111 -0
- package/dist/router/reg-exp-router/prepared-router.js +142 -0
- package/dist/router/reg-exp-router/router.js +190 -0
- package/dist/router/reg-exp-router/trie.js +59 -0
- package/dist/router/smart-router/index.js +5 -0
- package/dist/router/smart-router/router.js +58 -0
- package/dist/router/trie-router/index.js +5 -0
- package/dist/router/trie-router/node.js +179 -0
- package/dist/router/trie-router/router.js +26 -0
- package/dist/router.js +14 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types/adapter/aws-lambda/conninfo.d.ts +27 -0
- package/dist/types/adapter/aws-lambda/handler.d.ts +184 -0
- package/dist/types/adapter/aws-lambda/index.d.ts +8 -0
- package/dist/types/adapter/aws-lambda/types.d.ts +144 -0
- package/dist/types/adapter/bun/conninfo.d.ts +7 -0
- package/dist/types/adapter/bun/index.d.ts +10 -0
- package/dist/types/adapter/bun/serve-static.d.ts +3 -0
- package/dist/types/adapter/bun/server.d.ts +12 -0
- package/dist/types/adapter/bun/ssg.d.ts +13 -0
- package/dist/types/adapter/bun/websocket.d.ts +39 -0
- package/dist/types/adapter/cloudflare-pages/conninfo.d.ts +21 -0
- package/dist/types/adapter/cloudflare-pages/handler.d.ts +33 -0
- package/dist/types/adapter/cloudflare-pages/index.d.ts +7 -0
- package/dist/types/adapter/cloudflare-workers/conninfo.d.ts +2 -0
- package/dist/types/adapter/cloudflare-workers/index.d.ts +7 -0
- package/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +4 -0
- package/dist/types/adapter/cloudflare-workers/serve-static.d.ts +16 -0
- package/dist/types/adapter/cloudflare-workers/utils.d.ts +5 -0
- package/dist/types/adapter/cloudflare-workers/websocket.d.ts +2 -0
- package/dist/types/adapter/deno/conninfo.d.ts +7 -0
- package/dist/types/adapter/deno/index.d.ts +8 -0
- package/dist/types/adapter/deno/serve-static.d.ts +3 -0
- package/dist/types/adapter/deno/ssg.d.ts +13 -0
- package/dist/types/adapter/deno/websocket.d.ts +2 -0
- package/dist/types/adapter/lambda-edge/conninfo.d.ts +2 -0
- package/dist/types/adapter/lambda-edge/handler.d.ts +87 -0
- package/dist/types/adapter/lambda-edge/index.d.ts +7 -0
- package/dist/types/adapter/netlify/conninfo.d.ts +21 -0
- package/dist/types/adapter/netlify/handler.d.ts +2 -0
- package/dist/types/adapter/netlify/index.d.ts +5 -0
- package/dist/types/adapter/netlify/mod.d.ts +2 -0
- package/dist/types/adapter/service-worker/handler.d.ts +16 -0
- package/dist/types/adapter/service-worker/index.d.ts +28 -0
- package/dist/types/adapter/service-worker/types.d.ts +12 -0
- package/dist/types/adapter/vercel/conninfo.d.ts +2 -0
- package/dist/types/adapter/vercel/handler.d.ts +2 -0
- package/dist/types/adapter/vercel/index.d.ts +6 -0
- package/dist/types/client/client.d.ts +4 -0
- package/dist/types/client/fetch-result-please.d.ts +35 -0
- package/dist/types/client/index.d.ts +7 -0
- package/dist/types/client/types.d.ts +209 -0
- package/dist/types/client/utils.d.ts +18 -0
- package/dist/types/compose.d.ts +14 -0
- package/dist/types/context.d.ts +455 -0
- package/dist/types/helper/accepts/accepts.d.ts +30 -0
- package/dist/types/helper/accepts/index.d.ts +5 -0
- package/dist/types/helper/adapter/index.d.ts +12 -0
- package/dist/types/helper/conninfo/index.d.ts +5 -0
- package/dist/types/helper/conninfo/types.d.ts +36 -0
- package/dist/types/helper/cookie/index.d.ts +24 -0
- package/dist/types/helper/css/common.d.ts +42 -0
- package/dist/types/helper/css/index.d.ts +73 -0
- package/dist/types/helper/dev/index.d.ts +20 -0
- package/dist/types/helper/factory/index.d.ts +82 -0
- package/dist/types/helper/html/index.d.ts +8 -0
- package/dist/types/helper/proxy/index.d.ts +72 -0
- package/dist/types/helper/route/index.d.ts +75 -0
- package/dist/types/helper/ssg/index.d.ts +7 -0
- package/dist/types/helper/ssg/middleware.d.ts +44 -0
- package/dist/types/helper/ssg/plugins.d.ts +27 -0
- package/dist/types/helper/ssg/ssg.d.ts +91 -0
- package/dist/types/helper/ssg/utils.d.ts +15 -0
- package/dist/types/helper/streaming/index.d.ts +8 -0
- package/dist/types/helper/streaming/sse.d.ts +13 -0
- package/dist/types/helper/streaming/stream.d.ts +3 -0
- package/dist/types/helper/streaming/text.d.ts +3 -0
- package/dist/types/helper/streaming/utils.d.ts +1 -0
- package/dist/types/helper/testing/index.d.ts +12 -0
- package/dist/types/helper/websocket/index.d.ts +69 -0
- package/dist/types/hono-base.d.ts +220 -0
- package/dist/types/hono.d.ts +19 -0
- package/dist/types/http-exception.d.ts +59 -0
- package/dist/types/index.d.ts +36 -0
- package/dist/types/jsx/base.d.ts +58 -0
- package/dist/types/jsx/children.d.ts +9 -0
- package/dist/types/jsx/components.d.ts +15 -0
- package/dist/types/jsx/constants.d.ts +6 -0
- package/dist/types/jsx/context.d.ts +12 -0
- package/dist/types/jsx/dom/client.d.ts +31 -0
- package/dist/types/jsx/dom/components.d.ts +10 -0
- package/dist/types/jsx/dom/context.d.ts +3 -0
- package/dist/types/jsx/dom/css.d.ts +77 -0
- package/dist/types/jsx/dom/hooks/index.d.ts +39 -0
- package/dist/types/jsx/dom/index.d.ts +88 -0
- package/dist/types/jsx/dom/intrinsic-element/components.d.ts +16 -0
- package/dist/types/jsx/dom/jsx-dev-runtime.d.ts +8 -0
- package/dist/types/jsx/dom/jsx-runtime.d.ts +7 -0
- package/dist/types/jsx/dom/render.d.ts +73 -0
- package/dist/types/jsx/dom/server.d.ts +106 -0
- package/dist/types/jsx/dom/utils.d.ts +1 -0
- package/dist/types/jsx/hooks/index.d.ts +45 -0
- package/dist/types/jsx/index.d.ts +75 -0
- package/dist/types/jsx/intrinsic-element/common.d.ts +6 -0
- package/dist/types/jsx/intrinsic-element/components.d.ts +13 -0
- package/dist/types/jsx/intrinsic-elements.d.ts +722 -0
- package/dist/types/jsx/jsx-dev-runtime.d.ts +8 -0
- package/dist/types/jsx/jsx-runtime.d.ts +12 -0
- package/dist/types/jsx/streaming.d.ts +36 -0
- package/dist/types/jsx/types.d.ts +35 -0
- package/dist/types/jsx/utils.d.ts +2 -0
- package/dist/types/middleware/basic-auth/index.d.ts +75 -0
- package/dist/types/middleware/bearer-auth/index.d.ts +91 -0
- package/dist/types/middleware/body-limit/index.d.ts +45 -0
- package/dist/types/middleware/cache/index.d.ts +41 -0
- package/dist/types/middleware/combine/index.d.ts +85 -0
- package/dist/types/middleware/compress/index.d.ts +29 -0
- package/dist/types/middleware/context-storage/index.d.ts +40 -0
- package/dist/types/middleware/cors/index.d.ts +55 -0
- package/dist/types/middleware/csrf/index.d.ts +78 -0
- package/dist/types/middleware/etag/digest.d.ts +1 -0
- package/dist/types/middleware/etag/index.d.ts +42 -0
- package/dist/types/middleware/ip-restriction/index.d.ts +31 -0
- package/dist/types/middleware/jsx-renderer/index.d.ts +77 -0
- package/dist/types/middleware/jwk/index.d.ts +1 -0
- package/dist/types/middleware/jwk/jwk.d.ts +54 -0
- package/dist/types/middleware/jwt/index.d.ts +8 -0
- package/dist/types/middleware/jwt/jwt.d.ts +67 -0
- package/dist/types/middleware/language/index.d.ts +7 -0
- package/dist/types/middleware/language/language.d.ts +102 -0
- package/dist/types/middleware/logger/index.d.ts +24 -0
- package/dist/types/middleware/method-override/index.d.ts +48 -0
- package/dist/types/middleware/powered-by/index.d.ts +29 -0
- package/dist/types/middleware/pretty-json/index.d.ts +42 -0
- package/dist/types/middleware/request-id/index.d.ts +7 -0
- package/dist/types/middleware/request-id/request-id.d.ts +37 -0
- package/dist/types/middleware/secure-headers/index.d.ts +8 -0
- package/dist/types/middleware/secure-headers/permissions-policy.d.ts +14 -0
- package/dist/types/middleware/secure-headers/secure-headers.d.ts +109 -0
- package/dist/types/middleware/serve-static/index.d.ts +31 -0
- package/dist/types/middleware/serve-static/path.d.ts +5 -0
- package/dist/types/middleware/timeout/index.d.ts +31 -0
- package/dist/types/middleware/timing/index.d.ts +7 -0
- package/dist/types/middleware/timing/timing.d.ts +129 -0
- package/dist/types/middleware/trailing-slash/index.d.ts +78 -0
- package/dist/types/package.json +3 -0
- package/dist/types/preset/quick.d.ts +10 -0
- package/dist/types/preset/tiny.d.ts +10 -0
- package/dist/types/request/constants.d.ts +1 -0
- package/dist/types/request.d.ts +313 -0
- package/dist/types/router/linear-router/index.d.ts +5 -0
- package/dist/types/router/linear-router/router.d.ts +7 -0
- package/dist/types/router/pattern-router/index.d.ts +5 -0
- package/dist/types/router/pattern-router/router.d.ts +7 -0
- package/dist/types/router/reg-exp-router/index.d.ts +6 -0
- package/dist/types/router/reg-exp-router/matcher.d.ts +7 -0
- package/dist/types/router/reg-exp-router/node.d.ts +10 -0
- package/dist/types/router/reg-exp-router/prepared-router.d.ts +17 -0
- package/dist/types/router/reg-exp-router/router.d.ts +11 -0
- package/dist/types/router/reg-exp-router/trie.d.ts +7 -0
- package/dist/types/router/smart-router/index.d.ts +5 -0
- package/dist/types/router/smart-router/router.d.ts +11 -0
- package/dist/types/router/trie-router/index.d.ts +5 -0
- package/dist/types/router/trie-router/node.d.ts +7 -0
- package/dist/types/router/trie-router/router.d.ts +8 -0
- package/dist/types/router.d.ts +97 -0
- package/dist/types/types.d.ts +573 -0
- package/dist/types/utils/accept.d.ts +6 -0
- package/dist/types/utils/basic-auth.d.ts +5 -0
- package/dist/types/utils/body.d.ts +79 -0
- package/dist/types/utils/buffer.d.ts +17 -0
- package/dist/types/utils/color.d.ts +21 -0
- package/dist/types/utils/compress.d.ts +8 -0
- package/dist/types/utils/concurrent.d.ts +11 -0
- package/dist/types/utils/constants.d.ts +4 -0
- package/dist/types/utils/cookie.d.ts +40 -0
- package/dist/types/utils/crypto.d.ts +15 -0
- package/dist/types/utils/encode.d.ts +8 -0
- package/dist/types/utils/filepath.d.ts +12 -0
- package/dist/types/utils/handler.d.ts +6 -0
- package/dist/types/utils/headers.d.ts +8 -0
- package/dist/types/utils/html.d.ts +44 -0
- package/dist/types/utils/http-status.d.ts +32 -0
- package/dist/types/utils/ipaddr.d.ts +40 -0
- package/dist/types/utils/jwt/index.d.ts +18 -0
- package/dist/types/utils/jwt/jwa.d.ts +23 -0
- package/dist/types/utils/jwt/jws.d.ts +12 -0
- package/dist/types/utils/jwt/jwt.d.ts +43 -0
- package/dist/types/utils/jwt/types.d.ts +86 -0
- package/dist/types/utils/jwt/utf8.d.ts +6 -0
- package/dist/types/utils/mime.d.ts +70 -0
- package/dist/types/utils/stream.d.ts +31 -0
- package/dist/types/utils/types.d.ts +74 -0
- package/dist/types/utils/url.d.ts +39 -0
- package/dist/types/validator/index.d.ts +7 -0
- package/dist/types/validator/utils.d.ts +29 -0
- package/dist/types/validator/validator.d.ts +16 -0
- package/dist/types.js +6 -0
- package/dist/utils/accept.js +223 -0
- package/dist/utils/basic-auth.js +23 -0
- package/dist/utils/body.js +75 -0
- package/dist/utils/buffer.js +77 -0
- package/dist/utils/color.js +25 -0
- package/dist/utils/compress.js +5 -0
- package/dist/utils/concurrent.js +39 -0
- package/dist/utils/constants.js +5 -0
- package/dist/utils/cookie.js +152 -0
- package/dist/utils/crypto.js +44 -0
- package/dist/utils/encode.js +29 -0
- package/dist/utils/filepath.js +35 -0
- package/dist/utils/handler.js +13 -0
- package/dist/utils/headers.js +0 -0
- package/dist/utils/html.js +123 -0
- package/dist/utils/http-status.js +0 -0
- package/dist/utils/ipaddr.js +102 -0
- package/dist/utils/jwt/index.js +6 -0
- package/dist/utils/jwt/jwa.js +20 -0
- package/dist/utils/jwt/jws.js +192 -0
- package/dist/utils/jwt/jwt.js +201 -0
- package/dist/utils/jwt/types.js +124 -0
- package/dist/utils/jwt/utf8.js +7 -0
- package/dist/utils/mime.js +84 -0
- package/dist/utils/stream.js +79 -0
- package/dist/utils/types.js +0 -0
- package/dist/utils/url.js +222 -0
- package/dist/validator/index.js +5 -0
- package/dist/validator/utils.js +0 -0
- package/dist/validator/validator.js +86 -0
- package/package.json +702 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* Secure Headers Middleware for Hono.
|
|
4
|
+
*/
|
|
5
|
+
import type { Context } from '../../context';
|
|
6
|
+
import type { MiddlewareHandler } from '../../types';
|
|
7
|
+
import type { PermissionsPolicyDirective } from './permissions-policy';
|
|
8
|
+
export type SecureHeadersVariables = {
|
|
9
|
+
secureHeadersNonce?: string;
|
|
10
|
+
};
|
|
11
|
+
export type ContentSecurityPolicyOptionHandler = (ctx: Context, directive: string) => string;
|
|
12
|
+
type ContentSecurityPolicyOptionValue = (string | ContentSecurityPolicyOptionHandler)[];
|
|
13
|
+
interface ContentSecurityPolicyOptions {
|
|
14
|
+
defaultSrc?: ContentSecurityPolicyOptionValue;
|
|
15
|
+
baseUri?: ContentSecurityPolicyOptionValue;
|
|
16
|
+
childSrc?: ContentSecurityPolicyOptionValue;
|
|
17
|
+
connectSrc?: ContentSecurityPolicyOptionValue;
|
|
18
|
+
fontSrc?: ContentSecurityPolicyOptionValue;
|
|
19
|
+
formAction?: ContentSecurityPolicyOptionValue;
|
|
20
|
+
frameAncestors?: ContentSecurityPolicyOptionValue;
|
|
21
|
+
frameSrc?: ContentSecurityPolicyOptionValue;
|
|
22
|
+
imgSrc?: ContentSecurityPolicyOptionValue;
|
|
23
|
+
manifestSrc?: ContentSecurityPolicyOptionValue;
|
|
24
|
+
mediaSrc?: ContentSecurityPolicyOptionValue;
|
|
25
|
+
objectSrc?: ContentSecurityPolicyOptionValue;
|
|
26
|
+
reportTo?: string;
|
|
27
|
+
reportUri?: string | string[];
|
|
28
|
+
sandbox?: ContentSecurityPolicyOptionValue;
|
|
29
|
+
scriptSrc?: ContentSecurityPolicyOptionValue;
|
|
30
|
+
scriptSrcAttr?: ContentSecurityPolicyOptionValue;
|
|
31
|
+
scriptSrcElem?: ContentSecurityPolicyOptionValue;
|
|
32
|
+
styleSrc?: ContentSecurityPolicyOptionValue;
|
|
33
|
+
styleSrcAttr?: ContentSecurityPolicyOptionValue;
|
|
34
|
+
styleSrcElem?: ContentSecurityPolicyOptionValue;
|
|
35
|
+
upgradeInsecureRequests?: ContentSecurityPolicyOptionValue;
|
|
36
|
+
workerSrc?: ContentSecurityPolicyOptionValue;
|
|
37
|
+
requireTrustedTypesFor?: ContentSecurityPolicyOptionValue;
|
|
38
|
+
trustedTypes?: ContentSecurityPolicyOptionValue;
|
|
39
|
+
}
|
|
40
|
+
interface ReportToOptions {
|
|
41
|
+
group: string;
|
|
42
|
+
max_age: number;
|
|
43
|
+
endpoints: ReportToEndpoint[];
|
|
44
|
+
}
|
|
45
|
+
interface ReportToEndpoint {
|
|
46
|
+
url: string;
|
|
47
|
+
}
|
|
48
|
+
interface ReportingEndpointOptions {
|
|
49
|
+
name: string;
|
|
50
|
+
url: string;
|
|
51
|
+
}
|
|
52
|
+
type PermissionsPolicyValue = '*' | 'self' | 'src' | 'none' | string;
|
|
53
|
+
type PermissionsPolicyOptions = Partial<Record<PermissionsPolicyDirective, PermissionsPolicyValue[] | boolean>>;
|
|
54
|
+
type overridableHeader = boolean | string;
|
|
55
|
+
interface SecureHeadersOptions {
|
|
56
|
+
contentSecurityPolicy?: ContentSecurityPolicyOptions;
|
|
57
|
+
contentSecurityPolicyReportOnly?: ContentSecurityPolicyOptions;
|
|
58
|
+
crossOriginEmbedderPolicy?: overridableHeader;
|
|
59
|
+
crossOriginResourcePolicy?: overridableHeader;
|
|
60
|
+
crossOriginOpenerPolicy?: overridableHeader;
|
|
61
|
+
originAgentCluster?: overridableHeader;
|
|
62
|
+
referrerPolicy?: overridableHeader;
|
|
63
|
+
reportingEndpoints?: ReportingEndpointOptions[];
|
|
64
|
+
reportTo?: ReportToOptions[];
|
|
65
|
+
strictTransportSecurity?: overridableHeader;
|
|
66
|
+
xContentTypeOptions?: overridableHeader;
|
|
67
|
+
xDnsPrefetchControl?: overridableHeader;
|
|
68
|
+
xDownloadOptions?: overridableHeader;
|
|
69
|
+
xFrameOptions?: overridableHeader;
|
|
70
|
+
xPermittedCrossDomainPolicies?: overridableHeader;
|
|
71
|
+
xXssProtection?: overridableHeader;
|
|
72
|
+
removePoweredBy?: boolean;
|
|
73
|
+
permissionsPolicy?: PermissionsPolicyOptions;
|
|
74
|
+
}
|
|
75
|
+
export declare const NONCE: ContentSecurityPolicyOptionHandler;
|
|
76
|
+
/**
|
|
77
|
+
* Secure Headers Middleware for Hono.
|
|
78
|
+
*
|
|
79
|
+
* @see {@link https://hono.dev/docs/middleware/builtin/secure-headers}
|
|
80
|
+
*
|
|
81
|
+
* @param {Partial<SecureHeadersOptions>} [customOptions] - The options for the secure headers middleware.
|
|
82
|
+
* @param {ContentSecurityPolicyOptions} [customOptions.contentSecurityPolicy] - Settings for the Content-Security-Policy header.
|
|
83
|
+
* @param {ContentSecurityPolicyOptions} [customOptions.contentSecurityPolicyReportOnly] - Settings for the Content-Security-Policy-Report-Only header.
|
|
84
|
+
* @param {overridableHeader} [customOptions.crossOriginEmbedderPolicy=false] - Settings for the Cross-Origin-Embedder-Policy header.
|
|
85
|
+
* @param {overridableHeader} [customOptions.crossOriginResourcePolicy=true] - Settings for the Cross-Origin-Resource-Policy header.
|
|
86
|
+
* @param {overridableHeader} [customOptions.crossOriginOpenerPolicy=true] - Settings for the Cross-Origin-Opener-Policy header.
|
|
87
|
+
* @param {overridableHeader} [customOptions.originAgentCluster=true] - Settings for the Origin-Agent-Cluster header.
|
|
88
|
+
* @param {overridableHeader} [customOptions.referrerPolicy=true] - Settings for the Referrer-Policy header.
|
|
89
|
+
* @param {ReportingEndpointOptions[]} [customOptions.reportingEndpoints] - Settings for the Reporting-Endpoints header.
|
|
90
|
+
* @param {ReportToOptions[]} [customOptions.reportTo] - Settings for the Report-To header.
|
|
91
|
+
* @param {overridableHeader} [customOptions.strictTransportSecurity=true] - Settings for the Strict-Transport-Security header.
|
|
92
|
+
* @param {overridableHeader} [customOptions.xContentTypeOptions=true] - Settings for the X-Content-Type-Options header.
|
|
93
|
+
* @param {overridableHeader} [customOptions.xDnsPrefetchControl=true] - Settings for the X-DNS-Prefetch-Control header.
|
|
94
|
+
* @param {overridableHeader} [customOptions.xDownloadOptions=true] - Settings for the X-Download-Options header.
|
|
95
|
+
* @param {overridableHeader} [customOptions.xFrameOptions=true] - Settings for the X-Frame-Options header.
|
|
96
|
+
* @param {overridableHeader} [customOptions.xPermittedCrossDomainPolicies=true] - Settings for the X-Permitted-Cross-Domain-Policies header.
|
|
97
|
+
* @param {overridableHeader} [customOptions.xXssProtection=true] - Settings for the X-XSS-Protection header.
|
|
98
|
+
* @param {boolean} [customOptions.removePoweredBy=true] - Settings for remove X-Powered-By header.
|
|
99
|
+
* @param {PermissionsPolicyOptions} [customOptions.permissionsPolicy] - Settings for the Permissions-Policy header.
|
|
100
|
+
* @returns {MiddlewareHandler} The middleware handler function.
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```ts
|
|
104
|
+
* const app = new Hono()
|
|
105
|
+
* app.use(secureHeaders())
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
export declare const secureHeaders: (customOptions?: SecureHeadersOptions) => MiddlewareHandler;
|
|
109
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* Serve Static Middleware for Hono.
|
|
4
|
+
*/
|
|
5
|
+
import type { Context, Data } from '../../context';
|
|
6
|
+
import type { Env, MiddlewareHandler } from '../../types';
|
|
7
|
+
export type ServeStaticOptions<E extends Env = Env> = {
|
|
8
|
+
root?: string;
|
|
9
|
+
path?: string;
|
|
10
|
+
precompressed?: boolean;
|
|
11
|
+
mimes?: Record<string, string>;
|
|
12
|
+
rewriteRequestPath?: (path: string) => string;
|
|
13
|
+
onFound?: (path: string, c: Context<E>) => void | Promise<void>;
|
|
14
|
+
onNotFound?: (path: string, c: Context<E>) => void | Promise<void>;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* This middleware is not directly used by the user. Create a wrapper specifying `getContent()` by the environment such as Deno or Bun.
|
|
18
|
+
*/
|
|
19
|
+
export declare const serveStatic: <E extends Env = Env>(options: ServeStaticOptions<E> & {
|
|
20
|
+
getContent: (path: string, c: Context<E>) => Promise<Data | Response | null>;
|
|
21
|
+
/**
|
|
22
|
+
*
|
|
23
|
+
* `join` option according to the runtime. Example `import { join } from 'node:path`. If not specified, it will fall back to the default join function.`
|
|
24
|
+
*/
|
|
25
|
+
join?: (...paths: string[]) => string;
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated Currently, `pathResolve` is no longer used.
|
|
28
|
+
*/
|
|
29
|
+
pathResolve?: (path: string) => string;
|
|
30
|
+
isDir?: (path: string) => boolean | undefined | Promise<boolean | undefined>;
|
|
31
|
+
}) => MiddlewareHandler;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* Timeout Middleware for Hono.
|
|
4
|
+
*/
|
|
5
|
+
import type { Context } from '../../context';
|
|
6
|
+
import { HTTPException } from '../../http-exception';
|
|
7
|
+
import type { MiddlewareHandler } from '../../types';
|
|
8
|
+
export type HTTPExceptionFunction = (context: Context) => HTTPException;
|
|
9
|
+
/**
|
|
10
|
+
* Timeout Middleware for Hono.
|
|
11
|
+
*
|
|
12
|
+
* @param {number} duration - The timeout duration in milliseconds.
|
|
13
|
+
* @param {HTTPExceptionFunction | HTTPException} [exception=defaultTimeoutException] - The exception to throw when the timeout occurs. Can be a function that returns an HTTPException or an HTTPException object.
|
|
14
|
+
* @returns {MiddlewareHandler} The middleware handler function.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* const app = new Hono()
|
|
19
|
+
*
|
|
20
|
+
* app.use(
|
|
21
|
+
* '/long-request',
|
|
22
|
+
* timeout(5000) // Set timeout to 5 seconds
|
|
23
|
+
* )
|
|
24
|
+
*
|
|
25
|
+
* app.get('/long-request', async (c) => {
|
|
26
|
+
* await someLongRunningFunction()
|
|
27
|
+
* return c.text('Completed within time limit')
|
|
28
|
+
* })
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare const timeout: (duration: number, exception?: HTTPExceptionFunction | HTTPException) => MiddlewareHandler;
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* Server-Timing Middleware for Hono.
|
|
4
|
+
*/
|
|
5
|
+
import type { Context } from '../../context';
|
|
6
|
+
import type { MiddlewareHandler } from '../../types';
|
|
7
|
+
import '../../context';
|
|
8
|
+
export type TimingVariables = {
|
|
9
|
+
metric?: {
|
|
10
|
+
headers: string[];
|
|
11
|
+
timers: Map<string, Timer>;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
interface Timer {
|
|
15
|
+
description?: string;
|
|
16
|
+
start: number;
|
|
17
|
+
}
|
|
18
|
+
interface TimingOptions {
|
|
19
|
+
total?: boolean;
|
|
20
|
+
enabled?: boolean | ((c: Context) => boolean);
|
|
21
|
+
totalDescription?: string;
|
|
22
|
+
autoEnd?: boolean;
|
|
23
|
+
crossOrigin?: boolean | string | ((c: Context) => boolean | string);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Server-Timing Middleware for Hono.
|
|
27
|
+
*
|
|
28
|
+
* @see {@link https://hono.dev/docs/middleware/builtin/timing}
|
|
29
|
+
*
|
|
30
|
+
* @param {TimingOptions} [config] - The options for the timing middleware.
|
|
31
|
+
* @param {boolean} [config.total=true] - Show the total response time.
|
|
32
|
+
* @param {boolean | ((c: Context) => boolean)} [config.enabled=true] - Whether timings should be added to the headers or not.
|
|
33
|
+
* @param {string} [config.totalDescription=Total Response Time] - Description for the total response time.
|
|
34
|
+
* @param {boolean} [config.autoEnd=true] - If `startTime()` should end automatically at the end of the request.
|
|
35
|
+
* @param {boolean | string | ((c: Context) => boolean | string)} [config.crossOrigin=false] - The origin this timings header should be readable.
|
|
36
|
+
* @returns {MiddlewareHandler} The middleware handler function.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* const app = new Hono()
|
|
41
|
+
*
|
|
42
|
+
* // add the middleware to your router
|
|
43
|
+
* app.use(timing());
|
|
44
|
+
*
|
|
45
|
+
* app.get('/', async (c) => {
|
|
46
|
+
* // add custom metrics
|
|
47
|
+
* setMetric(c, 'region', 'europe-west3')
|
|
48
|
+
*
|
|
49
|
+
* // add custom metrics with timing, must be in milliseconds
|
|
50
|
+
* setMetric(c, 'custom', 23.8, 'My custom Metric')
|
|
51
|
+
*
|
|
52
|
+
* // start a new timer
|
|
53
|
+
* startTime(c, 'db');
|
|
54
|
+
*
|
|
55
|
+
* const data = await db.findMany(...);
|
|
56
|
+
*
|
|
57
|
+
* // end the timer
|
|
58
|
+
* endTime(c, 'db');
|
|
59
|
+
*
|
|
60
|
+
* return c.json({ response: data });
|
|
61
|
+
* });
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export declare const timing: (config?: TimingOptions) => MiddlewareHandler;
|
|
65
|
+
interface SetMetric {
|
|
66
|
+
(c: Context, name: string, value: number, description?: string, precision?: number): void;
|
|
67
|
+
(c: Context, name: string, description?: string): void;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Set a metric for the timing middleware.
|
|
71
|
+
*
|
|
72
|
+
* @param {Context} c - The context of the request.
|
|
73
|
+
* @param {string} name - The name of the metric.
|
|
74
|
+
* @param {number | string} [valueDescription] - The value or description of the metric.
|
|
75
|
+
* @param {string} [description] - The description of the metric.
|
|
76
|
+
* @param {number} [precision] - The precision of the metric value.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* setMetric(c, 'region', 'europe-west3')
|
|
81
|
+
* setMetric(c, 'custom', 23.8, 'My custom Metric')
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export declare const setMetric: SetMetric;
|
|
85
|
+
/**
|
|
86
|
+
* Start a timer for the timing middleware.
|
|
87
|
+
*
|
|
88
|
+
* @param {Context} c - The context of the request.
|
|
89
|
+
* @param {string} name - The name of the timer.
|
|
90
|
+
* @param {string} [description] - The description of the timer.
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```ts
|
|
94
|
+
* startTime(c, 'db')
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export declare const startTime: (c: Context, name: string, description?: string) => void;
|
|
98
|
+
/**
|
|
99
|
+
* End a timer for the timing middleware.
|
|
100
|
+
*
|
|
101
|
+
* @param {Context} c - The context of the request.
|
|
102
|
+
* @param {string} name - The name of the timer.
|
|
103
|
+
* @param {number} [precision] - The precision of the timer value.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```ts
|
|
107
|
+
* endTime(c, 'db')
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
export declare const endTime: (c: Context, name: string, precision?: number) => void;
|
|
111
|
+
/**
|
|
112
|
+
* Wrap a Promise to capture its duration.
|
|
113
|
+
* @param {Context} c - The context of the request.
|
|
114
|
+
* @param {string} name - The name of the timer.
|
|
115
|
+
* @param {Promise<T>} callable - The Promise to time.
|
|
116
|
+
* @param {string} [description] - The description of the timer.
|
|
117
|
+
* @param {number} [precision] - The precision of the timer value.
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```ts
|
|
121
|
+
* // Instead of this:
|
|
122
|
+
* const data = await db.findMany(...);
|
|
123
|
+
*
|
|
124
|
+
* // do this:
|
|
125
|
+
* const data = await wrapTime(c, 'query', db.findMany(...));
|
|
126
|
+
* ```
|
|
127
|
+
* */
|
|
128
|
+
export declare function wrapTime<T>(c: Context, name: string, callable: Promise<T>, description?: string, precision?: number): Promise<T>;
|
|
129
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* Trailing Slash Middleware for Hono.
|
|
4
|
+
*/
|
|
5
|
+
import type { MiddlewareHandler } from '../../types';
|
|
6
|
+
type TrimTrailingSlashOptions = {
|
|
7
|
+
/**
|
|
8
|
+
* If `true`, the middleware will always redirect requests with a trailing slash
|
|
9
|
+
* before executing handlers.
|
|
10
|
+
* This is useful for routes with wildcards (`*`).
|
|
11
|
+
* If `false` (default), it will only redirect when the route is not found (404).
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
14
|
+
alwaysRedirect?: boolean;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Trailing Slash Middleware for Hono.
|
|
18
|
+
*
|
|
19
|
+
* @see {@link https://hono.dev/docs/middleware/builtin/trailing-slash}
|
|
20
|
+
*
|
|
21
|
+
* @param {TrimTrailingSlashOptions} options - The options for the middleware.
|
|
22
|
+
* @returns {MiddlewareHandler} The middleware handler function.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* const app = new Hono()
|
|
27
|
+
*
|
|
28
|
+
* app.use(trimTrailingSlash())
|
|
29
|
+
* app.get('/about/me/', (c) => c.text('With Trailing Slash'))
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* // With alwaysRedirect option for wildcard routes
|
|
35
|
+
* const app = new Hono()
|
|
36
|
+
*
|
|
37
|
+
* app.use(trimTrailingSlash({ alwaysRedirect: true }))
|
|
38
|
+
* app.get('/my-path/*', (c) => c.text('Wildcard route'))
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare const trimTrailingSlash: (options?: TrimTrailingSlashOptions) => MiddlewareHandler;
|
|
42
|
+
type AppendTrailingSlashOptions = {
|
|
43
|
+
/**
|
|
44
|
+
* If `true`, the middleware will always redirect requests without a trailing slash
|
|
45
|
+
* before executing handlers.
|
|
46
|
+
* This is useful for routes with wildcards (`*`).
|
|
47
|
+
* If `false` (default), it will only redirect when the route is not found (404).
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
alwaysRedirect?: boolean;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Append trailing slash middleware for Hono.
|
|
54
|
+
* Append a trailing slash to the URL if it doesn't have one. For example, `/path/to/page` will be redirected to `/path/to/page/`.
|
|
55
|
+
*
|
|
56
|
+
* @see {@link https://hono.dev/docs/middleware/builtin/trailing-slash}
|
|
57
|
+
*
|
|
58
|
+
* @param {AppendTrailingSlashOptions} options - The options for the middleware.
|
|
59
|
+
* @returns {MiddlewareHandler} The middleware handler function.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* const app = new Hono()
|
|
64
|
+
*
|
|
65
|
+
* app.use(appendTrailingSlash())
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
70
|
+
* // With alwaysRedirect option for wildcard routes
|
|
71
|
+
* const app = new Hono()
|
|
72
|
+
*
|
|
73
|
+
* app.use(appendTrailingSlash({ alwaysRedirect: true }))
|
|
74
|
+
* app.get('/my-path/*', (c) => c.text('Wildcard route'))
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
export declare const appendTrailingSlash: (options?: AppendTrailingSlashOptions) => MiddlewareHandler;
|
|
78
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* The preset that uses `LinearRouter`.
|
|
4
|
+
*/
|
|
5
|
+
import { HonoBase } from '../hono-base';
|
|
6
|
+
import type { HonoOptions } from '../hono-base';
|
|
7
|
+
import type { BlankEnv, BlankSchema, Env, Schema } from '../types';
|
|
8
|
+
export declare class Hono<E extends Env = BlankEnv, S extends Schema = BlankSchema, BasePath extends string = '/'> extends HonoBase<E, S, BasePath> {
|
|
9
|
+
constructor(options?: HonoOptions<E>);
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* The preset that uses `PatternRouter`.
|
|
4
|
+
*/
|
|
5
|
+
import { HonoBase } from '../hono-base';
|
|
6
|
+
import type { HonoOptions } from '../hono-base';
|
|
7
|
+
import type { BlankEnv, BlankSchema, Env, Schema } from '../types';
|
|
8
|
+
export declare class Hono<E extends Env = BlankEnv, S extends Schema = BlankSchema, BasePath extends string = '/'> extends HonoBase<E, S, BasePath> {
|
|
9
|
+
constructor(options?: HonoOptions<E>);
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const GET_MATCH_RESULT: unique symbol;
|