h3 1.15.3 → 1.15.5
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/README.md +4 -4
- package/dist/index.cjs +15 -7
- package/dist/index.d.cts +8 -7
- package/dist/index.d.mts +8 -7
- package/dist/index.d.ts +8 -7
- package/dist/index.mjs +15 -7
- package/package.json +32 -29
package/README.md
CHANGED
|
@@ -33,11 +33,11 @@ H3 (pronounced as /eɪtʃθriː/, like h-3) is a minimal h(ttp) framework built
|
|
|
33
33
|
|
|
34
34
|
<!-- automd:contributors license=MIT author="pi0" -->
|
|
35
35
|
|
|
36
|
-
Published under the [MIT](https://github.com/
|
|
37
|
-
Made by [@pi0](https://github.com/pi0) and [community](https://github.com/
|
|
36
|
+
Published under the [MIT](https://github.com/h3js/h3/blob/main/LICENSE) license.
|
|
37
|
+
Made by [@pi0](https://github.com/pi0) and [community](https://github.com/h3js/h3/graphs/contributors) 💛
|
|
38
38
|
<br><br>
|
|
39
|
-
<a href="https://github.com/
|
|
40
|
-
<img src="https://contrib.rocks/image?repo=
|
|
39
|
+
<a href="https://github.com/h3js/h3/graphs/contributors">
|
|
40
|
+
<img src="https://contrib.rocks/image?repo=h3js/h3" />
|
|
41
41
|
</a>
|
|
42
42
|
|
|
43
43
|
<!-- /automd -->
|
package/dist/index.cjs
CHANGED
|
@@ -315,7 +315,8 @@ function getRequestHeader(event, name) {
|
|
|
315
315
|
const getHeader = getRequestHeader;
|
|
316
316
|
function getRequestHost(event, opts = {}) {
|
|
317
317
|
if (opts.xForwardedHost) {
|
|
318
|
-
const
|
|
318
|
+
const _header = event.node.req.headers["x-forwarded-host"];
|
|
319
|
+
const xForwardedHost = (_header || "").split(",").shift()?.trim();
|
|
319
320
|
if (xForwardedHost) {
|
|
320
321
|
return xForwardedHost;
|
|
321
322
|
}
|
|
@@ -417,7 +418,9 @@ function readRawBody(event, encoding = "utf8") {
|
|
|
417
418
|
});
|
|
418
419
|
return encoding ? promise2.then((buff) => buff.toString(encoding)) : promise2;
|
|
419
420
|
}
|
|
420
|
-
if (!Number.parseInt(event.node.req.headers["content-length"] || "") &&
|
|
421
|
+
if (!Number.parseInt(event.node.req.headers["content-length"] || "") && !/\bchunked\b/i.test(
|
|
422
|
+
String(event.node.req.headers["transfer-encoding"] ?? "")
|
|
423
|
+
)) {
|
|
421
424
|
return Promise.resolve(void 0);
|
|
422
425
|
}
|
|
423
426
|
const promise = event.node.req[RawBodySymbol] = new Promise(
|
|
@@ -1439,11 +1442,16 @@ async function updateSession(event, config, update) {
|
|
|
1439
1442
|
async function sealSession(event, config) {
|
|
1440
1443
|
const sessionName = config.name || DEFAULT_NAME;
|
|
1441
1444
|
const session = event.context.sessions?.[sessionName] || await getSession(event, config);
|
|
1442
|
-
const sealed = await ironWebcrypto.seal(
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1445
|
+
const sealed = await ironWebcrypto.seal(
|
|
1446
|
+
config.crypto || crypto__default,
|
|
1447
|
+
session,
|
|
1448
|
+
config.password,
|
|
1449
|
+
{
|
|
1450
|
+
...ironWebcrypto.defaults,
|
|
1451
|
+
ttl: config.maxAge ? config.maxAge * 1e3 : 0,
|
|
1452
|
+
...config.seal
|
|
1453
|
+
}
|
|
1454
|
+
);
|
|
1447
1455
|
return sealed;
|
|
1448
1456
|
}
|
|
1449
1457
|
async function unsealSession(_event, config, sealed) {
|
package/dist/index.d.cts
CHANGED
|
@@ -117,6 +117,12 @@ interface Session<T extends SessionDataT = SessionDataT> {
|
|
|
117
117
|
data: SessionData<T>;
|
|
118
118
|
[getSessionPromise]?: Promise<Session<T>>;
|
|
119
119
|
}
|
|
120
|
+
interface SessionManager<T extends SessionDataT = SessionDataT> {
|
|
121
|
+
readonly id: string | undefined;
|
|
122
|
+
readonly data: SessionData<T>;
|
|
123
|
+
update: (update: SessionUpdate<T>) => Promise<SessionManager<T>>;
|
|
124
|
+
clear: () => Promise<SessionManager<T>>;
|
|
125
|
+
}
|
|
120
126
|
interface SessionConfig {
|
|
121
127
|
/** Private key used to encrypt session tokens */
|
|
122
128
|
password: string;
|
|
@@ -145,12 +151,7 @@ type CompatEvent = {
|
|
|
145
151
|
/**
|
|
146
152
|
* Create a session manager for the current request.
|
|
147
153
|
*/
|
|
148
|
-
declare function useSession<T extends SessionDataT = SessionDataT>(event: H3Event | CompatEvent, config: SessionConfig): Promise<
|
|
149
|
-
readonly id: any;
|
|
150
|
-
readonly data: T;
|
|
151
|
-
update: (update: SessionUpdate<T>) => Promise</*elided*/ any>;
|
|
152
|
-
clear: () => Promise</*elided*/ any>;
|
|
153
|
-
}>;
|
|
154
|
+
declare function useSession<T extends SessionDataT = SessionDataT>(event: H3Event | CompatEvent, config: SessionConfig): Promise<SessionManager<T>>;
|
|
154
155
|
/**
|
|
155
156
|
* Get the session for the current request.
|
|
156
157
|
*/
|
|
@@ -1393,4 +1394,4 @@ declare function toPlainHandler(app: App): PlainHandler;
|
|
|
1393
1394
|
declare function fromPlainHandler(handler: PlainHandler): EventHandler<EventHandlerRequest, Promise<unknown>>;
|
|
1394
1395
|
|
|
1395
1396
|
export { H3Error, H3Event, H3Headers, H3Response, MIMES, appendCorsHeaders, appendCorsPreflightHeaders, appendHeader, appendHeaders, appendResponseHeader, appendResponseHeaders, assertMethod, callNodeListener, clearResponseHeaders, clearSession, createApp, createAppEventHandler, createError, createEvent, createEventStream, createRouter, defaultContentType, defineEventHandler, defineLazyEventHandler, defineNodeListener, defineNodeMiddleware, defineRequestMiddleware, defineResponseMiddleware, defineWebSocket, defineWebSocketHandler, deleteCookie, dynamicEventHandler, eventHandler, fetchWithEvent, fromNodeMiddleware, fromPlainHandler, fromWebHandler, getCookie, getHeader, getHeaders, getMethod, getProxyRequestHeaders, getQuery, getRequestFingerprint, getRequestHeader, getRequestHeaders, getRequestHost, getRequestIP, getRequestPath, getRequestProtocol, getRequestURL, getRequestWebStream, getResponseHeader, getResponseHeaders, getResponseStatus, getResponseStatusText, getRouterParam, getRouterParams, getSession, getValidatedQuery, getValidatedRouterParams, handleCacheHeaders, handleCors, isCorsOriginAllowed, isError, isEvent, isEventHandler, isMethod, isPreflightRequest, isStream, isWebResponse, lazyEventHandler, parseCookies, promisifyNodeListener, proxyRequest, readBody, readFormData, readMultipartFormData, readRawBody, readValidatedBody, removeResponseHeader, sanitizeStatusCode, sanitizeStatusMessage, sealSession, send, sendError, sendIterable, sendNoContent, sendProxy, sendRedirect, sendStream, sendWebResponse, serveStatic, setCookie, setHeader, setHeaders, setResponseHeader, setResponseHeaders, setResponseStatus, splitCookiesString, toEventHandler, toNodeListener, toPlainHandler, toWebHandler, toWebRequest, unsealSession, updateSession, use, useBase, useSession, writeEarlyHints };
|
|
1396
|
-
export type { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CreateRouterOptions, Duplex, DynamicEventHandler, Encoding, EventHandler, EventHandlerObject, EventHandlerRequest, EventHandlerResolver, EventHandlerResponse, EventStream, EventStreamMessage, EventStreamOptions, H3CorsOptions, H3EventContext, HTTPHeaderName, HTTPMethod, InferEventInput, InputLayer, InputStack, Layer, LazyEventHandler, Matcher, MimeType, MultiPartData, NodeEventContext, NodeListener, NodeMiddleware, NodePromisifiedHandler, PlainHandler, PlainRequest, PlainResponse, ProxyOptions, RequestFingerprintOptions, RequestHeaders, RouteNode, Router, RouterMethod, RouterUse, ServeStaticOptions, Session, SessionConfig, SessionData, Stack, StaticAssetMeta, StatusCode, TypedHeaders, ValidateFunction, ValidateResult, WebEventContext, WebHandler, WebSocketOptions, _RequestMiddleware, _ResponseMiddleware };
|
|
1397
|
+
export type { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CreateRouterOptions, Duplex, DynamicEventHandler, Encoding, EventHandler, EventHandlerObject, EventHandlerRequest, EventHandlerResolver, EventHandlerResponse, EventStream, EventStreamMessage, EventStreamOptions, H3CorsOptions, H3EventContext, HTTPHeaderName, HTTPMethod, InferEventInput, InputLayer, InputStack, Layer, LazyEventHandler, Matcher, MimeType, MultiPartData, NodeEventContext, NodeListener, NodeMiddleware, NodePromisifiedHandler, PlainHandler, PlainRequest, PlainResponse, ProxyOptions, RequestFingerprintOptions, RequestHeaders, RouteNode, Router, RouterMethod, RouterUse, ServeStaticOptions, Session, SessionConfig, SessionData, SessionManager, Stack, StaticAssetMeta, StatusCode, TypedHeaders, ValidateFunction, ValidateResult, WebEventContext, WebHandler, WebSocketOptions, _RequestMiddleware, _ResponseMiddleware };
|
package/dist/index.d.mts
CHANGED
|
@@ -117,6 +117,12 @@ interface Session<T extends SessionDataT = SessionDataT> {
|
|
|
117
117
|
data: SessionData<T>;
|
|
118
118
|
[getSessionPromise]?: Promise<Session<T>>;
|
|
119
119
|
}
|
|
120
|
+
interface SessionManager<T extends SessionDataT = SessionDataT> {
|
|
121
|
+
readonly id: string | undefined;
|
|
122
|
+
readonly data: SessionData<T>;
|
|
123
|
+
update: (update: SessionUpdate<T>) => Promise<SessionManager<T>>;
|
|
124
|
+
clear: () => Promise<SessionManager<T>>;
|
|
125
|
+
}
|
|
120
126
|
interface SessionConfig {
|
|
121
127
|
/** Private key used to encrypt session tokens */
|
|
122
128
|
password: string;
|
|
@@ -145,12 +151,7 @@ type CompatEvent = {
|
|
|
145
151
|
/**
|
|
146
152
|
* Create a session manager for the current request.
|
|
147
153
|
*/
|
|
148
|
-
declare function useSession<T extends SessionDataT = SessionDataT>(event: H3Event | CompatEvent, config: SessionConfig): Promise<
|
|
149
|
-
readonly id: any;
|
|
150
|
-
readonly data: T;
|
|
151
|
-
update: (update: SessionUpdate<T>) => Promise</*elided*/ any>;
|
|
152
|
-
clear: () => Promise</*elided*/ any>;
|
|
153
|
-
}>;
|
|
154
|
+
declare function useSession<T extends SessionDataT = SessionDataT>(event: H3Event | CompatEvent, config: SessionConfig): Promise<SessionManager<T>>;
|
|
154
155
|
/**
|
|
155
156
|
* Get the session for the current request.
|
|
156
157
|
*/
|
|
@@ -1393,4 +1394,4 @@ declare function toPlainHandler(app: App): PlainHandler;
|
|
|
1393
1394
|
declare function fromPlainHandler(handler: PlainHandler): EventHandler<EventHandlerRequest, Promise<unknown>>;
|
|
1394
1395
|
|
|
1395
1396
|
export { H3Error, H3Event, H3Headers, H3Response, MIMES, appendCorsHeaders, appendCorsPreflightHeaders, appendHeader, appendHeaders, appendResponseHeader, appendResponseHeaders, assertMethod, callNodeListener, clearResponseHeaders, clearSession, createApp, createAppEventHandler, createError, createEvent, createEventStream, createRouter, defaultContentType, defineEventHandler, defineLazyEventHandler, defineNodeListener, defineNodeMiddleware, defineRequestMiddleware, defineResponseMiddleware, defineWebSocket, defineWebSocketHandler, deleteCookie, dynamicEventHandler, eventHandler, fetchWithEvent, fromNodeMiddleware, fromPlainHandler, fromWebHandler, getCookie, getHeader, getHeaders, getMethod, getProxyRequestHeaders, getQuery, getRequestFingerprint, getRequestHeader, getRequestHeaders, getRequestHost, getRequestIP, getRequestPath, getRequestProtocol, getRequestURL, getRequestWebStream, getResponseHeader, getResponseHeaders, getResponseStatus, getResponseStatusText, getRouterParam, getRouterParams, getSession, getValidatedQuery, getValidatedRouterParams, handleCacheHeaders, handleCors, isCorsOriginAllowed, isError, isEvent, isEventHandler, isMethod, isPreflightRequest, isStream, isWebResponse, lazyEventHandler, parseCookies, promisifyNodeListener, proxyRequest, readBody, readFormData, readMultipartFormData, readRawBody, readValidatedBody, removeResponseHeader, sanitizeStatusCode, sanitizeStatusMessage, sealSession, send, sendError, sendIterable, sendNoContent, sendProxy, sendRedirect, sendStream, sendWebResponse, serveStatic, setCookie, setHeader, setHeaders, setResponseHeader, setResponseHeaders, setResponseStatus, splitCookiesString, toEventHandler, toNodeListener, toPlainHandler, toWebHandler, toWebRequest, unsealSession, updateSession, use, useBase, useSession, writeEarlyHints };
|
|
1396
|
-
export type { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CreateRouterOptions, Duplex, DynamicEventHandler, Encoding, EventHandler, EventHandlerObject, EventHandlerRequest, EventHandlerResolver, EventHandlerResponse, EventStream, EventStreamMessage, EventStreamOptions, H3CorsOptions, H3EventContext, HTTPHeaderName, HTTPMethod, InferEventInput, InputLayer, InputStack, Layer, LazyEventHandler, Matcher, MimeType, MultiPartData, NodeEventContext, NodeListener, NodeMiddleware, NodePromisifiedHandler, PlainHandler, PlainRequest, PlainResponse, ProxyOptions, RequestFingerprintOptions, RequestHeaders, RouteNode, Router, RouterMethod, RouterUse, ServeStaticOptions, Session, SessionConfig, SessionData, Stack, StaticAssetMeta, StatusCode, TypedHeaders, ValidateFunction, ValidateResult, WebEventContext, WebHandler, WebSocketOptions, _RequestMiddleware, _ResponseMiddleware };
|
|
1397
|
+
export type { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CreateRouterOptions, Duplex, DynamicEventHandler, Encoding, EventHandler, EventHandlerObject, EventHandlerRequest, EventHandlerResolver, EventHandlerResponse, EventStream, EventStreamMessage, EventStreamOptions, H3CorsOptions, H3EventContext, HTTPHeaderName, HTTPMethod, InferEventInput, InputLayer, InputStack, Layer, LazyEventHandler, Matcher, MimeType, MultiPartData, NodeEventContext, NodeListener, NodeMiddleware, NodePromisifiedHandler, PlainHandler, PlainRequest, PlainResponse, ProxyOptions, RequestFingerprintOptions, RequestHeaders, RouteNode, Router, RouterMethod, RouterUse, ServeStaticOptions, Session, SessionConfig, SessionData, SessionManager, Stack, StaticAssetMeta, StatusCode, TypedHeaders, ValidateFunction, ValidateResult, WebEventContext, WebHandler, WebSocketOptions, _RequestMiddleware, _ResponseMiddleware };
|
package/dist/index.d.ts
CHANGED
|
@@ -117,6 +117,12 @@ interface Session<T extends SessionDataT = SessionDataT> {
|
|
|
117
117
|
data: SessionData<T>;
|
|
118
118
|
[getSessionPromise]?: Promise<Session<T>>;
|
|
119
119
|
}
|
|
120
|
+
interface SessionManager<T extends SessionDataT = SessionDataT> {
|
|
121
|
+
readonly id: string | undefined;
|
|
122
|
+
readonly data: SessionData<T>;
|
|
123
|
+
update: (update: SessionUpdate<T>) => Promise<SessionManager<T>>;
|
|
124
|
+
clear: () => Promise<SessionManager<T>>;
|
|
125
|
+
}
|
|
120
126
|
interface SessionConfig {
|
|
121
127
|
/** Private key used to encrypt session tokens */
|
|
122
128
|
password: string;
|
|
@@ -145,12 +151,7 @@ type CompatEvent = {
|
|
|
145
151
|
/**
|
|
146
152
|
* Create a session manager for the current request.
|
|
147
153
|
*/
|
|
148
|
-
declare function useSession<T extends SessionDataT = SessionDataT>(event: H3Event | CompatEvent, config: SessionConfig): Promise<
|
|
149
|
-
readonly id: any;
|
|
150
|
-
readonly data: T;
|
|
151
|
-
update: (update: SessionUpdate<T>) => Promise</*elided*/ any>;
|
|
152
|
-
clear: () => Promise</*elided*/ any>;
|
|
153
|
-
}>;
|
|
154
|
+
declare function useSession<T extends SessionDataT = SessionDataT>(event: H3Event | CompatEvent, config: SessionConfig): Promise<SessionManager<T>>;
|
|
154
155
|
/**
|
|
155
156
|
* Get the session for the current request.
|
|
156
157
|
*/
|
|
@@ -1393,4 +1394,4 @@ declare function toPlainHandler(app: App): PlainHandler;
|
|
|
1393
1394
|
declare function fromPlainHandler(handler: PlainHandler): EventHandler<EventHandlerRequest, Promise<unknown>>;
|
|
1394
1395
|
|
|
1395
1396
|
export { H3Error, H3Event, H3Headers, H3Response, MIMES, appendCorsHeaders, appendCorsPreflightHeaders, appendHeader, appendHeaders, appendResponseHeader, appendResponseHeaders, assertMethod, callNodeListener, clearResponseHeaders, clearSession, createApp, createAppEventHandler, createError, createEvent, createEventStream, createRouter, defaultContentType, defineEventHandler, defineLazyEventHandler, defineNodeListener, defineNodeMiddleware, defineRequestMiddleware, defineResponseMiddleware, defineWebSocket, defineWebSocketHandler, deleteCookie, dynamicEventHandler, eventHandler, fetchWithEvent, fromNodeMiddleware, fromPlainHandler, fromWebHandler, getCookie, getHeader, getHeaders, getMethod, getProxyRequestHeaders, getQuery, getRequestFingerprint, getRequestHeader, getRequestHeaders, getRequestHost, getRequestIP, getRequestPath, getRequestProtocol, getRequestURL, getRequestWebStream, getResponseHeader, getResponseHeaders, getResponseStatus, getResponseStatusText, getRouterParam, getRouterParams, getSession, getValidatedQuery, getValidatedRouterParams, handleCacheHeaders, handleCors, isCorsOriginAllowed, isError, isEvent, isEventHandler, isMethod, isPreflightRequest, isStream, isWebResponse, lazyEventHandler, parseCookies, promisifyNodeListener, proxyRequest, readBody, readFormData, readMultipartFormData, readRawBody, readValidatedBody, removeResponseHeader, sanitizeStatusCode, sanitizeStatusMessage, sealSession, send, sendError, sendIterable, sendNoContent, sendProxy, sendRedirect, sendStream, sendWebResponse, serveStatic, setCookie, setHeader, setHeaders, setResponseHeader, setResponseHeaders, setResponseStatus, splitCookiesString, toEventHandler, toNodeListener, toPlainHandler, toWebHandler, toWebRequest, unsealSession, updateSession, use, useBase, useSession, writeEarlyHints };
|
|
1396
|
-
export type { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CreateRouterOptions, Duplex, DynamicEventHandler, Encoding, EventHandler, EventHandlerObject, EventHandlerRequest, EventHandlerResolver, EventHandlerResponse, EventStream, EventStreamMessage, EventStreamOptions, H3CorsOptions, H3EventContext, HTTPHeaderName, HTTPMethod, InferEventInput, InputLayer, InputStack, Layer, LazyEventHandler, Matcher, MimeType, MultiPartData, NodeEventContext, NodeListener, NodeMiddleware, NodePromisifiedHandler, PlainHandler, PlainRequest, PlainResponse, ProxyOptions, RequestFingerprintOptions, RequestHeaders, RouteNode, Router, RouterMethod, RouterUse, ServeStaticOptions, Session, SessionConfig, SessionData, Stack, StaticAssetMeta, StatusCode, TypedHeaders, ValidateFunction, ValidateResult, WebEventContext, WebHandler, WebSocketOptions, _RequestMiddleware, _ResponseMiddleware };
|
|
1397
|
+
export type { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CreateRouterOptions, Duplex, DynamicEventHandler, Encoding, EventHandler, EventHandlerObject, EventHandlerRequest, EventHandlerResolver, EventHandlerResponse, EventStream, EventStreamMessage, EventStreamOptions, H3CorsOptions, H3EventContext, HTTPHeaderName, HTTPMethod, InferEventInput, InputLayer, InputStack, Layer, LazyEventHandler, Matcher, MimeType, MultiPartData, NodeEventContext, NodeListener, NodeMiddleware, NodePromisifiedHandler, PlainHandler, PlainRequest, PlainResponse, ProxyOptions, RequestFingerprintOptions, RequestHeaders, RouteNode, Router, RouterMethod, RouterUse, ServeStaticOptions, Session, SessionConfig, SessionData, SessionManager, Stack, StaticAssetMeta, StatusCode, TypedHeaders, ValidateFunction, ValidateResult, WebEventContext, WebHandler, WebSocketOptions, _RequestMiddleware, _ResponseMiddleware };
|
package/dist/index.mjs
CHANGED
|
@@ -308,7 +308,8 @@ function getRequestHeader(event, name) {
|
|
|
308
308
|
const getHeader = getRequestHeader;
|
|
309
309
|
function getRequestHost(event, opts = {}) {
|
|
310
310
|
if (opts.xForwardedHost) {
|
|
311
|
-
const
|
|
311
|
+
const _header = event.node.req.headers["x-forwarded-host"];
|
|
312
|
+
const xForwardedHost = (_header || "").split(",").shift()?.trim();
|
|
312
313
|
if (xForwardedHost) {
|
|
313
314
|
return xForwardedHost;
|
|
314
315
|
}
|
|
@@ -410,7 +411,9 @@ function readRawBody(event, encoding = "utf8") {
|
|
|
410
411
|
});
|
|
411
412
|
return encoding ? promise2.then((buff) => buff.toString(encoding)) : promise2;
|
|
412
413
|
}
|
|
413
|
-
if (!Number.parseInt(event.node.req.headers["content-length"] || "") &&
|
|
414
|
+
if (!Number.parseInt(event.node.req.headers["content-length"] || "") && !/\bchunked\b/i.test(
|
|
415
|
+
String(event.node.req.headers["transfer-encoding"] ?? "")
|
|
416
|
+
)) {
|
|
414
417
|
return Promise.resolve(void 0);
|
|
415
418
|
}
|
|
416
419
|
const promise = event.node.req[RawBodySymbol] = new Promise(
|
|
@@ -1432,11 +1435,16 @@ async function updateSession(event, config, update) {
|
|
|
1432
1435
|
async function sealSession(event, config) {
|
|
1433
1436
|
const sessionName = config.name || DEFAULT_NAME;
|
|
1434
1437
|
const session = event.context.sessions?.[sessionName] || await getSession(event, config);
|
|
1435
|
-
const sealed = await seal(
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1438
|
+
const sealed = await seal(
|
|
1439
|
+
config.crypto || crypto,
|
|
1440
|
+
session,
|
|
1441
|
+
config.password,
|
|
1442
|
+
{
|
|
1443
|
+
...defaults,
|
|
1444
|
+
ttl: config.maxAge ? config.maxAge * 1e3 : 0,
|
|
1445
|
+
...config.seal
|
|
1446
|
+
}
|
|
1447
|
+
);
|
|
1440
1448
|
return sealed;
|
|
1441
1449
|
}
|
|
1442
1450
|
async function unsealSession(_event, config, sealed) {
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "h3",
|
|
3
|
-
"version": "1.15.
|
|
3
|
+
"version": "1.15.5",
|
|
4
4
|
"description": "Minimal H(TTP) framework built for high performance and portability.",
|
|
5
|
-
"repository": "
|
|
5
|
+
"repository": "h3js/h3",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"sideEffects": false,
|
|
8
8
|
"exports": {
|
|
@@ -24,52 +24,55 @@
|
|
|
24
24
|
"dev": "vitest",
|
|
25
25
|
"lint": "eslint --cache . && prettier -c src test playground examples docs",
|
|
26
26
|
"lint:fix": "eslint --cache . --fix && prettier -c src test playground examples docs -w",
|
|
27
|
+
"prepack": "pnpm build",
|
|
27
28
|
"play": "listhen -w ./playground/app.ts",
|
|
28
29
|
"profile": "0x -o -D .profile -P 'autocannon -c 100 -p 10 -d 40 http://localhost:$PORT' ./playground/server.cjs",
|
|
29
|
-
"release": "pnpm test && pnpm build && changelogen --release --publish --publishTag
|
|
30
|
-
"test": "pnpm lint && vitest --run --coverage"
|
|
30
|
+
"release": "pnpm test && pnpm build && changelogen --release --publish --publishTag 1x && git push --follow-tags",
|
|
31
|
+
"test": "pnpm lint && vitest --run --coverage && pnpm test:types",
|
|
32
|
+
"test:types": "tsgo --noEmit"
|
|
31
33
|
},
|
|
32
34
|
"resolutions": {
|
|
33
35
|
"h3": "^1.14.0"
|
|
34
36
|
},
|
|
35
37
|
"dependencies": {
|
|
36
38
|
"cookie-es": "^1.2.2",
|
|
37
|
-
"crossws": "^0.3.
|
|
39
|
+
"crossws": "^0.3.5",
|
|
38
40
|
"defu": "^6.1.4",
|
|
39
41
|
"destr": "^2.0.5",
|
|
40
42
|
"iron-webcrypto": "^1.2.1",
|
|
41
|
-
"node-mock-http": "^1.0.
|
|
43
|
+
"node-mock-http": "^1.0.4",
|
|
42
44
|
"radix3": "^1.1.2",
|
|
43
|
-
"ufo": "^1.6.
|
|
45
|
+
"ufo": "^1.6.3",
|
|
44
46
|
"uncrypto": "^0.1.3"
|
|
45
47
|
},
|
|
46
48
|
"devDependencies": {
|
|
47
|
-
"0x": "^
|
|
48
|
-
"@types/express": "^5.0.
|
|
49
|
-
"@types/node": "^
|
|
49
|
+
"0x": "^6.0.0",
|
|
50
|
+
"@types/express": "^5.0.6",
|
|
51
|
+
"@types/node": "^25.0.8",
|
|
50
52
|
"@types/supertest": "^6.0.3",
|
|
51
|
-
"@
|
|
53
|
+
"@typescript/native-preview": "7.0.0-dev.20260115.1",
|
|
54
|
+
"@vitest/coverage-v8": "^4.0.17",
|
|
52
55
|
"autocannon": "^8.0.0",
|
|
53
|
-
"automd": "^0.4.
|
|
54
|
-
"changelogen": "^0.6.
|
|
56
|
+
"automd": "^0.4.2",
|
|
57
|
+
"changelogen": "^0.6.2",
|
|
55
58
|
"connect": "^3.7.0",
|
|
56
|
-
"eslint": "^9.
|
|
57
|
-
"eslint-config-unjs": "^0.
|
|
58
|
-
"express": "^5.1
|
|
59
|
+
"eslint": "^9.39.2",
|
|
60
|
+
"eslint-config-unjs": "^0.6.2",
|
|
61
|
+
"express": "^5.2.1",
|
|
59
62
|
"get-port": "^7.1.0",
|
|
60
|
-
"h3": "^
|
|
61
|
-
"jiti": "^2.
|
|
63
|
+
"h3": "^2.0.1-rc.8",
|
|
64
|
+
"jiti": "^2.6.1",
|
|
62
65
|
"listhen": "^1.9.0",
|
|
63
|
-
"node-fetch-native": "^1.6.
|
|
64
|
-
"prettier": "^3.
|
|
65
|
-
"react": "^19.
|
|
66
|
-
"react-dom": "^19.
|
|
67
|
-
"supertest": "^7.
|
|
68
|
-
"typescript": "^5.
|
|
69
|
-
"unbuild": "^3.
|
|
70
|
-
"undici": "^7.
|
|
71
|
-
"vitest": "^
|
|
72
|
-
"zod": "^3.
|
|
66
|
+
"node-fetch-native": "^1.6.7",
|
|
67
|
+
"prettier": "^3.8.0",
|
|
68
|
+
"react": "^19.2.3",
|
|
69
|
+
"react-dom": "^19.2.3",
|
|
70
|
+
"supertest": "^7.2.2",
|
|
71
|
+
"typescript": "^5.9.3",
|
|
72
|
+
"unbuild": "^3.6.1",
|
|
73
|
+
"undici": "^7.18.2",
|
|
74
|
+
"vitest": "^4.0.17",
|
|
75
|
+
"zod": "^4.3.5"
|
|
73
76
|
},
|
|
74
|
-
"packageManager": "pnpm@10.
|
|
77
|
+
"packageManager": "pnpm@10.28.0"
|
|
75
78
|
}
|