hono 4.11.7 → 4.12.7
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/dist/adapter/aws-lambda/conninfo.js +24 -0
- package/dist/adapter/aws-lambda/handler.js +2 -2
- package/dist/adapter/aws-lambda/index.js +2 -0
- package/dist/adapter/cloudflare-pages/conninfo.js +9 -0
- package/dist/adapter/cloudflare-pages/index.js +2 -0
- package/dist/adapter/lambda-edge/handler.js +2 -1
- package/dist/adapter/netlify/conninfo.js +9 -0
- package/dist/adapter/netlify/mod.js +2 -0
- package/dist/cjs/adapter/aws-lambda/conninfo.js +46 -0
- package/dist/cjs/adapter/aws-lambda/handler.js +2 -3
- package/dist/cjs/adapter/aws-lambda/index.js +3 -1
- package/dist/cjs/adapter/aws-lambda/types.js +0 -1
- package/dist/cjs/adapter/bun/conninfo.js +0 -1
- package/dist/cjs/adapter/bun/index.js +0 -1
- package/dist/cjs/adapter/bun/serve-static.js +0 -1
- package/dist/cjs/adapter/bun/server.js +0 -1
- package/dist/cjs/adapter/bun/ssg.js +0 -1
- package/dist/cjs/adapter/bun/websocket.js +0 -1
- package/dist/cjs/adapter/cloudflare-pages/conninfo.js +31 -0
- package/dist/cjs/adapter/cloudflare-pages/handler.js +0 -1
- package/dist/cjs/adapter/cloudflare-pages/index.js +3 -1
- package/dist/cjs/adapter/cloudflare-workers/conninfo.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/index.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/serve-static.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/utils.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/websocket.js +0 -1
- package/dist/cjs/adapter/deno/conninfo.js +0 -1
- package/dist/cjs/adapter/deno/deno.d.js +0 -1
- package/dist/cjs/adapter/deno/index.js +0 -1
- package/dist/cjs/adapter/deno/serve-static.js +0 -1
- package/dist/cjs/adapter/deno/ssg.js +0 -1
- package/dist/cjs/adapter/deno/websocket.js +0 -1
- package/dist/cjs/adapter/lambda-edge/conninfo.js +0 -1
- package/dist/cjs/adapter/lambda-edge/handler.js +2 -2
- package/dist/cjs/adapter/lambda-edge/index.js +0 -1
- package/dist/cjs/adapter/netlify/conninfo.js +31 -0
- package/dist/cjs/adapter/netlify/handler.js +0 -1
- package/dist/cjs/adapter/netlify/index.js +0 -1
- package/dist/cjs/adapter/netlify/mod.js +3 -1
- package/dist/cjs/adapter/service-worker/handler.js +0 -1
- package/dist/cjs/adapter/service-worker/index.js +0 -1
- package/dist/cjs/adapter/service-worker/types.js +0 -1
- package/dist/cjs/adapter/vercel/conninfo.js +0 -1
- package/dist/cjs/adapter/vercel/handler.js +0 -1
- package/dist/cjs/adapter/vercel/index.js +0 -1
- package/dist/cjs/client/client.js +8 -3
- package/dist/cjs/client/fetch-result-please.js +0 -1
- package/dist/cjs/client/index.js +0 -1
- package/dist/cjs/client/types.js +0 -1
- package/dist/cjs/client/utils.js +0 -1
- package/dist/cjs/compose.js +0 -1
- package/dist/cjs/context.js +6 -6
- package/dist/cjs/helper/accepts/accepts.js +0 -1
- package/dist/cjs/helper/accepts/index.js +0 -1
- package/dist/cjs/helper/adapter/index.js +0 -1
- package/dist/cjs/helper/conninfo/index.js +0 -1
- package/dist/cjs/helper/conninfo/types.js +0 -1
- package/dist/cjs/helper/cookie/index.js +0 -1
- package/dist/cjs/helper/css/common.js +0 -1
- package/dist/cjs/helper/css/index.js +0 -1
- package/dist/cjs/helper/dev/index.js +0 -1
- package/dist/cjs/helper/factory/index.js +0 -1
- package/dist/cjs/helper/html/index.js +0 -1
- package/dist/cjs/helper/proxy/index.js +0 -1
- package/dist/cjs/helper/route/index.js +0 -1
- package/dist/cjs/helper/ssg/index.js +5 -1
- package/dist/cjs/helper/ssg/middleware.js +0 -1
- package/dist/cjs/helper/ssg/plugins.js +70 -0
- package/dist/cjs/helper/ssg/ssg.js +2 -12
- package/dist/cjs/helper/ssg/utils.js +0 -1
- package/dist/cjs/helper/streaming/index.js +0 -1
- package/dist/cjs/helper/streaming/sse.js +5 -1
- package/dist/cjs/helper/streaming/stream.js +0 -1
- package/dist/cjs/helper/streaming/text.js +0 -1
- package/dist/cjs/helper/streaming/utils.js +0 -1
- package/dist/cjs/helper/testing/index.js +0 -1
- package/dist/cjs/helper/websocket/index.js +0 -1
- package/dist/cjs/hono-base.js +0 -1
- package/dist/cjs/hono.js +0 -1
- package/dist/cjs/http-exception.js +0 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/jsx/base.js +0 -1
- package/dist/cjs/jsx/children.js +0 -1
- package/dist/cjs/jsx/components.js +0 -1
- package/dist/cjs/jsx/constants.js +0 -1
- package/dist/cjs/jsx/context.js +4 -3
- package/dist/cjs/jsx/dom/client.js +0 -1
- package/dist/cjs/jsx/dom/components.js +0 -1
- package/dist/cjs/jsx/dom/context.js +0 -1
- package/dist/cjs/jsx/dom/css.js +0 -1
- package/dist/cjs/jsx/dom/hooks/index.js +0 -1
- package/dist/cjs/jsx/dom/index.js +0 -1
- package/dist/cjs/jsx/dom/intrinsic-element/components.js +40 -10
- package/dist/cjs/jsx/dom/jsx-dev-runtime.js +0 -1
- package/dist/cjs/jsx/dom/jsx-runtime.js +0 -1
- package/dist/cjs/jsx/dom/render.js +7 -10
- package/dist/cjs/jsx/dom/server.js +0 -1
- package/dist/cjs/jsx/dom/utils.js +0 -1
- package/dist/cjs/jsx/hooks/index.js +0 -1
- package/dist/cjs/jsx/index.js +0 -1
- package/dist/cjs/jsx/intrinsic-element/common.js +13 -3
- package/dist/cjs/jsx/intrinsic-element/components.js +18 -12
- package/dist/cjs/jsx/intrinsic-elements.js +0 -1
- package/dist/cjs/jsx/jsx-dev-runtime.js +0 -1
- package/dist/cjs/jsx/jsx-runtime.js +0 -1
- package/dist/cjs/jsx/streaming.js +13 -4
- package/dist/cjs/jsx/types.js +0 -1
- package/dist/cjs/jsx/utils.js +0 -1
- package/dist/cjs/middleware/basic-auth/index.js +6 -1
- package/dist/cjs/middleware/bearer-auth/index.js +1 -2
- package/dist/cjs/middleware/body-limit/index.js +0 -1
- package/dist/cjs/middleware/cache/index.js +0 -1
- package/dist/cjs/middleware/combine/index.js +0 -1
- package/dist/cjs/middleware/compress/index.js +0 -1
- package/dist/cjs/middleware/context-storage/index.js +0 -1
- package/dist/cjs/middleware/cors/index.js +0 -1
- package/dist/cjs/middleware/csrf/index.js +0 -1
- package/dist/cjs/middleware/etag/digest.js +0 -1
- package/dist/cjs/middleware/etag/index.js +0 -1
- package/dist/cjs/middleware/ip-restriction/index.js +0 -1
- package/dist/cjs/middleware/jsx-renderer/index.js +1 -1
- package/dist/cjs/middleware/jwk/index.js +0 -1
- package/dist/cjs/middleware/jwk/jwk.js +0 -1
- package/dist/cjs/middleware/jwt/index.js +0 -1
- package/dist/cjs/middleware/jwt/jwt.js +0 -1
- package/dist/cjs/middleware/language/index.js +0 -1
- package/dist/cjs/middleware/language/language.js +13 -3
- package/dist/cjs/middleware/logger/index.js +0 -1
- package/dist/cjs/middleware/method-override/index.js +0 -1
- package/dist/cjs/middleware/powered-by/index.js +0 -1
- package/dist/cjs/middleware/pretty-json/index.js +0 -1
- package/dist/cjs/middleware/request-id/index.js +0 -1
- package/dist/cjs/middleware/request-id/request-id.js +0 -1
- package/dist/cjs/middleware/secure-headers/index.js +0 -1
- package/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -1
- package/dist/cjs/middleware/secure-headers/secure-headers.js +0 -1
- package/dist/cjs/middleware/serve-static/index.js +2 -2
- package/dist/cjs/middleware/serve-static/path.js +0 -1
- package/dist/cjs/middleware/timeout/index.js +0 -1
- package/dist/cjs/middleware/timing/index.js +0 -1
- package/dist/cjs/middleware/timing/timing.js +0 -1
- package/dist/cjs/middleware/trailing-slash/index.js +18 -5
- package/dist/cjs/preset/quick.js +0 -1
- package/dist/cjs/preset/tiny.js +0 -1
- package/dist/cjs/request/constants.js +0 -1
- package/dist/cjs/request.js +0 -1
- package/dist/cjs/router/linear-router/index.js +0 -1
- package/dist/cjs/router/linear-router/router.js +0 -1
- package/dist/cjs/router/pattern-router/index.js +0 -1
- package/dist/cjs/router/pattern-router/router.js +0 -1
- package/dist/cjs/router/reg-exp-router/index.js +0 -1
- package/dist/cjs/router/reg-exp-router/matcher.js +0 -1
- package/dist/cjs/router/reg-exp-router/node.js +0 -1
- package/dist/cjs/router/reg-exp-router/prepared-router.js +0 -1
- package/dist/cjs/router/reg-exp-router/router.js +0 -1
- package/dist/cjs/router/reg-exp-router/trie.js +0 -1
- package/dist/cjs/router/smart-router/index.js +0 -1
- package/dist/cjs/router/smart-router/router.js +0 -1
- package/dist/cjs/router/trie-router/index.js +0 -1
- package/dist/cjs/router/trie-router/node.js +33 -17
- package/dist/cjs/router/trie-router/router.js +0 -1
- package/dist/cjs/router.js +0 -1
- package/dist/cjs/types.js +0 -1
- package/dist/cjs/utils/accept.js +188 -29
- package/dist/cjs/utils/basic-auth.js +0 -1
- package/dist/cjs/utils/body.js +3 -1
- package/dist/cjs/utils/buffer.js +29 -3
- package/dist/cjs/utils/color.js +0 -1
- package/dist/cjs/utils/compress.js +0 -1
- package/dist/cjs/utils/concurrent.js +0 -1
- package/dist/cjs/utils/constants.js +0 -1
- package/dist/cjs/utils/cookie.js +5 -1
- package/dist/cjs/utils/crypto.js +0 -1
- package/dist/cjs/utils/encode.js +0 -1
- package/dist/cjs/utils/filepath.js +0 -1
- package/dist/cjs/utils/handler.js +0 -1
- package/dist/cjs/utils/headers.js +0 -1
- package/dist/cjs/utils/html.js +0 -1
- package/dist/cjs/utils/http-status.js +0 -1
- package/dist/cjs/utils/ipaddr.js +0 -1
- package/dist/cjs/utils/jwt/index.js +0 -1
- package/dist/cjs/utils/jwt/jwa.js +0 -1
- package/dist/cjs/utils/jwt/jws.js +0 -1
- package/dist/cjs/utils/jwt/jwt.js +17 -14
- package/dist/cjs/utils/jwt/types.js +0 -1
- package/dist/cjs/utils/jwt/utf8.js +0 -1
- package/dist/cjs/utils/mime.js +0 -1
- package/dist/cjs/utils/stream.js +0 -1
- package/dist/cjs/utils/types.js +0 -1
- package/dist/cjs/utils/url.js +8 -5
- package/dist/cjs/validator/index.js +0 -1
- package/dist/cjs/validator/utils.js +0 -1
- package/dist/cjs/validator/validator.js +2 -3
- package/dist/client/client.js +8 -2
- package/dist/context.js +6 -5
- package/dist/helper/ssg/index.js +3 -0
- package/dist/helper/ssg/plugins.js +47 -0
- package/dist/helper/ssg/ssg.js +2 -10
- package/dist/helper/streaming/sse.js +5 -0
- package/dist/jsx/context.js +4 -2
- package/dist/jsx/dom/intrinsic-element/components.js +47 -10
- package/dist/jsx/dom/render.js +7 -9
- package/dist/jsx/intrinsic-element/common.js +10 -1
- package/dist/jsx/intrinsic-element/components.js +24 -12
- package/dist/jsx/streaming.js +13 -3
- package/dist/middleware/basic-auth/index.js +6 -0
- package/dist/middleware/bearer-auth/index.js +1 -1
- package/dist/middleware/jsx-renderer/index.js +1 -0
- package/dist/middleware/language/language.js +13 -2
- package/dist/middleware/serve-static/index.js +2 -1
- package/dist/middleware/trailing-slash/index.js +18 -4
- package/dist/router/trie-router/node.js +33 -16
- 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 +2 -2
- package/dist/types/adapter/aws-lambda/index.d.ts +1 -0
- package/dist/types/adapter/cloudflare-pages/conninfo.d.ts +21 -0
- package/dist/types/adapter/cloudflare-pages/index.d.ts +1 -0
- package/dist/types/adapter/netlify/conninfo.d.ts +21 -0
- package/dist/types/adapter/netlify/mod.d.ts +1 -0
- package/dist/types/client/index.d.ts +1 -1
- package/dist/types/client/types.d.ts +43 -2
- package/dist/types/context.d.ts +4 -0
- package/dist/types/helper/ssg/index.d.ts +1 -0
- package/dist/types/helper/ssg/plugins.d.ts +27 -0
- package/dist/types/helper/ssg/ssg.d.ts +0 -8
- package/dist/types/hono-base.d.ts +1 -1
- package/dist/types/jsx/intrinsic-element/common.d.ts +3 -0
- package/dist/types/jsx/types.d.ts +1 -1
- package/dist/types/middleware/basic-auth/index.d.ts +19 -0
- package/dist/types/middleware/jsx-renderer/index.d.ts +1 -1
- package/dist/types/middleware/jwt/index.d.ts +1 -1
- package/dist/types/middleware/jwt/jwt.d.ts +1 -1
- package/dist/types/middleware/trailing-slash/index.d.ts +43 -2
- package/dist/types/request.d.ts +1 -1
- package/dist/types/types.d.ts +18 -18
- package/dist/types/utils/accept.d.ts +0 -5
- package/dist/types/utils/buffer.d.ts +10 -1
- package/dist/types/utils/url.d.ts +10 -0
- package/dist/utils/accept.js +188 -28
- package/dist/utils/body.js +3 -0
- package/dist/utils/buffer.js +29 -2
- package/dist/utils/cookie.js +5 -0
- package/dist/utils/jwt/jwt.js +17 -13
- package/dist/utils/url.js +6 -3
- package/dist/validator/validator.js +2 -2
- package/package.json +5 -4
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -44,8 +43,12 @@ const insertIntoHead = (tagName, tag, props, precedence) => ({ buffer, context }
|
|
|
44
43
|
const tags = map[tagName] ||= [];
|
|
45
44
|
let duped = false;
|
|
46
45
|
const deDupeKeys = import_common.deDupeKeyMap[tagName];
|
|
47
|
-
|
|
46
|
+
const deDupeByKey = (0, import_common.shouldDeDupeByKey)(tagName, precedence !== void 0);
|
|
47
|
+
if (deDupeByKey) {
|
|
48
48
|
LOOP: for (const [, tagProps] of tags) {
|
|
49
|
+
if (tagName === "link" && !(tagProps.rel === "stylesheet" && tagProps[import_common.dataPrecedenceAttr] !== void 0)) {
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
49
52
|
for (const key of deDupeKeys) {
|
|
50
53
|
if ((tagProps?.[key] ?? null) === props?.[key]) {
|
|
51
54
|
duped = true;
|
|
@@ -56,25 +59,28 @@ const insertIntoHead = (tagName, tag, props, precedence) => ({ buffer, context }
|
|
|
56
59
|
}
|
|
57
60
|
if (duped) {
|
|
58
61
|
buffer[0] = buffer[0].replaceAll(tag, "");
|
|
59
|
-
} else if (
|
|
62
|
+
} else if (deDupeByKey || tagName === "link") {
|
|
60
63
|
tags.push([tag, props, precedence]);
|
|
61
64
|
} else {
|
|
62
65
|
tags.unshift([tag, props, precedence]);
|
|
63
66
|
}
|
|
64
67
|
if (buffer[0].indexOf("</head>") !== -1) {
|
|
65
68
|
let insertTags;
|
|
66
|
-
if (
|
|
67
|
-
insertTags = tags.map(([tag2]) => tag2);
|
|
68
|
-
} else {
|
|
69
|
+
if (tagName === "link" || precedence !== void 0) {
|
|
69
70
|
const precedences = [];
|
|
70
|
-
insertTags = tags.map(([tag2, ,
|
|
71
|
-
|
|
71
|
+
insertTags = tags.map(([tag2, , tagPrecedence], index) => {
|
|
72
|
+
if (tagPrecedence === void 0) {
|
|
73
|
+
return [tag2, Number.MAX_SAFE_INTEGER, index];
|
|
74
|
+
}
|
|
75
|
+
let order = precedences.indexOf(tagPrecedence);
|
|
72
76
|
if (order === -1) {
|
|
73
|
-
precedences.push(
|
|
77
|
+
precedences.push(tagPrecedence);
|
|
74
78
|
order = precedences.length - 1;
|
|
75
79
|
}
|
|
76
|
-
return [tag2, order];
|
|
77
|
-
}).sort((a, b) => a[1] - b[1]).map(([tag2]) => tag2);
|
|
80
|
+
return [tag2, order, index];
|
|
81
|
+
}).sort((a, b) => a[1] - b[1] || a[2] - b[2]).map(([tag2]) => tag2);
|
|
82
|
+
} else {
|
|
83
|
+
insertTags = tags.map(([tag2]) => tag2);
|
|
78
84
|
}
|
|
79
85
|
insertTags.forEach((tag2) => {
|
|
80
86
|
buffer[0] = buffer[0].replaceAll(tag2, "");
|
|
@@ -143,7 +149,7 @@ const link = ({ children, ...props }) => {
|
|
|
143
149
|
if (["onLoad", "onError"].some((k) => k in props) || props.rel === "stylesheet" && (!("precedence" in props) || "disabled" in props)) {
|
|
144
150
|
return returnWithoutSpecialBehavior("link", children, props);
|
|
145
151
|
}
|
|
146
|
-
return documentMetadataTag("link", children, props,
|
|
152
|
+
return documentMetadataTag("link", children, props, (0, import_common.isStylesheetLinkWithPrecedence)(props));
|
|
147
153
|
};
|
|
148
154
|
const meta = ({ children, ...props }) => {
|
|
149
155
|
const nameSpaceContext = (0, import_base.getNameSpaceContext)();
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -113,6 +112,7 @@ d.replaceWith(c.content)
|
|
|
113
112
|
Suspense[import_constants.DOM_RENDERER] = import_components2.Suspense;
|
|
114
113
|
const textEncoder = new TextEncoder();
|
|
115
114
|
const renderToReadableStream = (content, onError = console.trace) => {
|
|
115
|
+
let cancelled = false;
|
|
116
116
|
const reader = new ReadableStream({
|
|
117
117
|
async start(controller) {
|
|
118
118
|
try {
|
|
@@ -126,7 +126,9 @@ const renderToReadableStream = (content, onError = console.trace) => {
|
|
|
126
126
|
true,
|
|
127
127
|
context
|
|
128
128
|
);
|
|
129
|
-
|
|
129
|
+
if (!cancelled) {
|
|
130
|
+
controller.enqueue(textEncoder.encode(resolved));
|
|
131
|
+
}
|
|
130
132
|
let resolvedCount = 0;
|
|
131
133
|
const callbacks = [];
|
|
132
134
|
const then = (promise) => {
|
|
@@ -144,7 +146,9 @@ const renderToReadableStream = (content, onError = console.trace) => {
|
|
|
144
146
|
);
|
|
145
147
|
res.callbacks?.map((c) => c({ phase: import_html2.HtmlEscapedCallbackPhase.Stream, context })).filter(Boolean).forEach(then);
|
|
146
148
|
resolvedCount++;
|
|
147
|
-
|
|
149
|
+
if (!cancelled) {
|
|
150
|
+
controller.enqueue(textEncoder.encode(res));
|
|
151
|
+
}
|
|
148
152
|
})
|
|
149
153
|
);
|
|
150
154
|
};
|
|
@@ -155,7 +159,12 @@ const renderToReadableStream = (content, onError = console.trace) => {
|
|
|
155
159
|
} catch (e) {
|
|
156
160
|
onError(e);
|
|
157
161
|
}
|
|
158
|
-
|
|
162
|
+
if (!cancelled) {
|
|
163
|
+
controller.close();
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
cancel() {
|
|
167
|
+
cancelled = true;
|
|
159
168
|
}
|
|
160
169
|
});
|
|
161
170
|
return reader;
|
package/dist/cjs/jsx/types.js
CHANGED
package/dist/cjs/jsx/utils.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -46,6 +45,9 @@ const basicAuth = (options, ...users) => {
|
|
|
46
45
|
if (requestUser) {
|
|
47
46
|
if (verifyUserInOptions) {
|
|
48
47
|
if (await options.verifyUser(requestUser.username, requestUser.password, ctx)) {
|
|
48
|
+
if (options.onAuthSuccess) {
|
|
49
|
+
await options.onAuthSuccess(ctx, requestUser.username);
|
|
50
|
+
}
|
|
49
51
|
await next();
|
|
50
52
|
return;
|
|
51
53
|
}
|
|
@@ -56,6 +58,9 @@ const basicAuth = (options, ...users) => {
|
|
|
56
58
|
(0, import_buffer.timingSafeEqual)(user.password, requestUser.password, options.hashFunction)
|
|
57
59
|
]);
|
|
58
60
|
if (usernameEqual && passwordEqual) {
|
|
61
|
+
if (options.onAuthSuccess) {
|
|
62
|
+
await options.onAuthSuccess(ctx, requestUser.username);
|
|
63
|
+
}
|
|
59
64
|
await next();
|
|
60
65
|
return;
|
|
61
66
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -38,7 +37,7 @@ const bearerAuth = (options) => {
|
|
|
38
37
|
}
|
|
39
38
|
const realm = options.realm?.replace(/"/g, '\\"');
|
|
40
39
|
const prefixRegexStr = options.prefix === "" ? "" : `${options.prefix} +`;
|
|
41
|
-
const regexp = new RegExp(`^${prefixRegexStr}(${TOKEN_STRINGS})
|
|
40
|
+
const regexp = new RegExp(`^${prefixRegexStr}(${TOKEN_STRINGS}) *$`, "i");
|
|
42
41
|
const wwwAuthenticatePrefix = options.prefix === "" ? "" : `${options.prefix} `;
|
|
43
42
|
const throwHTTPException = async (c, status, wwwAuthenticateHeader, messageOption) => {
|
|
44
43
|
const wwwAuthenticateHeaderValue = typeof wwwAuthenticateHeader === "function" ? await wwwAuthenticateHeader(c) : wwwAuthenticateHeader;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -28,6 +27,7 @@ var import_jsx = require("../../jsx");
|
|
|
28
27
|
var import_streaming = require("../../jsx/streaming");
|
|
29
28
|
const RequestContext = (0, import_jsx.createContext)(null);
|
|
30
29
|
const createRenderer = (c, Layout, component, options) => (children, props) => {
|
|
30
|
+
options = typeof options === "function" ? options(c) : options;
|
|
31
31
|
const docType = typeof options?.docType === "string" ? options.docType : options?.docType === false ? "" : "<!DOCTYPE html>";
|
|
32
32
|
const currentLayout = component ? (0, import_jsx.jsx)(
|
|
33
33
|
(props2) => component(props2, c),
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -66,8 +65,19 @@ const normalizeLanguage = (lang, options) => {
|
|
|
66
65
|
const compSupported = options.supportedLanguages.map(
|
|
67
66
|
(l) => options.ignoreCase ? l.toLowerCase() : l
|
|
68
67
|
);
|
|
69
|
-
const
|
|
70
|
-
|
|
68
|
+
const exactIndex = compSupported.indexOf(compLang);
|
|
69
|
+
if (exactIndex !== -1) {
|
|
70
|
+
return options.supportedLanguages[exactIndex];
|
|
71
|
+
}
|
|
72
|
+
const parts = compLang.split("-");
|
|
73
|
+
for (let i = parts.length - 1; i > 0; i--) {
|
|
74
|
+
const candidate = parts.slice(0, i).join("-");
|
|
75
|
+
const prefixIndex = compSupported.indexOf(candidate);
|
|
76
|
+
if (prefixIndex !== -1) {
|
|
77
|
+
return options.supportedLanguages[prefixIndex];
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return void 0;
|
|
71
81
|
} catch {
|
|
72
82
|
return void 0;
|
|
73
83
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -23,6 +22,7 @@ __export(serve_static_exports, {
|
|
|
23
22
|
module.exports = __toCommonJS(serve_static_exports);
|
|
24
23
|
var import_compress = require("../../utils/compress");
|
|
25
24
|
var import_mime = require("../../utils/mime");
|
|
25
|
+
var import_url = require("../../utils/url");
|
|
26
26
|
var import_path = require("./path");
|
|
27
27
|
const ENCODINGS = {
|
|
28
28
|
br: ".br",
|
|
@@ -44,7 +44,7 @@ const serveStatic = (options) => {
|
|
|
44
44
|
filename = options.path;
|
|
45
45
|
} else {
|
|
46
46
|
try {
|
|
47
|
-
filename =
|
|
47
|
+
filename = (0, import_url.tryDecodeURI)(c.req.path);
|
|
48
48
|
if (/(?:^|[\/\\])\.\.(?:$|[\/\\])/.test(filename)) {
|
|
49
49
|
throw new Error();
|
|
50
50
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -22,20 +21,34 @@ __export(trailing_slash_exports, {
|
|
|
22
21
|
trimTrailingSlash: () => trimTrailingSlash
|
|
23
22
|
});
|
|
24
23
|
module.exports = __toCommonJS(trailing_slash_exports);
|
|
25
|
-
const trimTrailingSlash = () => {
|
|
24
|
+
const trimTrailingSlash = (options) => {
|
|
26
25
|
return async function trimTrailingSlash2(c, next) {
|
|
26
|
+
if (options?.alwaysRedirect) {
|
|
27
|
+
if ((c.req.method === "GET" || c.req.method === "HEAD") && c.req.path !== "/" && c.req.path.at(-1) === "/") {
|
|
28
|
+
const url = new URL(c.req.url);
|
|
29
|
+
url.pathname = url.pathname.substring(0, url.pathname.length - 1);
|
|
30
|
+
return c.redirect(url.toString(), 301);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
27
33
|
await next();
|
|
28
|
-
if (c.res.status === 404 && (c.req.method === "GET" || c.req.method === "HEAD") && c.req.path !== "/" && c.req.path.at(-1) === "/") {
|
|
34
|
+
if (!options?.alwaysRedirect && c.res.status === 404 && (c.req.method === "GET" || c.req.method === "HEAD") && c.req.path !== "/" && c.req.path.at(-1) === "/") {
|
|
29
35
|
const url = new URL(c.req.url);
|
|
30
36
|
url.pathname = url.pathname.substring(0, url.pathname.length - 1);
|
|
31
37
|
c.res = c.redirect(url.toString(), 301);
|
|
32
38
|
}
|
|
33
39
|
};
|
|
34
40
|
};
|
|
35
|
-
const appendTrailingSlash = () => {
|
|
41
|
+
const appendTrailingSlash = (options) => {
|
|
36
42
|
return async function appendTrailingSlash2(c, next) {
|
|
43
|
+
if (options?.alwaysRedirect) {
|
|
44
|
+
if ((c.req.method === "GET" || c.req.method === "HEAD") && c.req.path.at(-1) !== "/") {
|
|
45
|
+
const url = new URL(c.req.url);
|
|
46
|
+
url.pathname += "/";
|
|
47
|
+
return c.redirect(url.toString(), 301);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
37
50
|
await next();
|
|
38
|
-
if (c.res.status === 404 && (c.req.method === "GET" || c.req.method === "HEAD") && c.req.path.at(-1) !== "/") {
|
|
51
|
+
if (!options?.alwaysRedirect && c.res.status === 404 && (c.req.method === "GET" || c.req.method === "HEAD") && c.req.path.at(-1) !== "/") {
|
|
39
52
|
const url = new URL(c.req.url);
|
|
40
53
|
url.pathname += "/";
|
|
41
54
|
c.res = c.redirect(url.toString(), 301);
|
package/dist/cjs/preset/quick.js
CHANGED
package/dist/cjs/preset/tiny.js
CHANGED
package/dist/cjs/request.js
CHANGED