h3 0.7.1 → 0.7.4
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/index.cjs +7 -2
- package/dist/index.d.ts +10 -9
- package/dist/index.mjs +7 -2
- package/package.json +5 -5
package/dist/index.cjs
CHANGED
|
@@ -85,8 +85,9 @@ function handleCacheHeaders(event, opts) {
|
|
|
85
85
|
opts.cacheControls?.push(`max-age=${+opts.maxAge}`, `s-maxage=${+opts.maxAge}`);
|
|
86
86
|
}
|
|
87
87
|
if (opts.modifiedTime) {
|
|
88
|
+
const modifiedTime = new Date(opts.modifiedTime);
|
|
88
89
|
const ifModifiedSince = event.req.headers["if-modified-since"];
|
|
89
|
-
event.res.setHeader("Last-Modified",
|
|
90
|
+
event.res.setHeader("Last-Modified", modifiedTime.toUTCString());
|
|
90
91
|
if (ifModifiedSince) {
|
|
91
92
|
if (new Date(ifModifiedSince) >= opts.modifiedTime) {
|
|
92
93
|
cacheMatched = true;
|
|
@@ -473,7 +474,11 @@ function createRouter() {
|
|
|
473
474
|
routes[path] = route = { handlers: {} };
|
|
474
475
|
_router.insert(path, route);
|
|
475
476
|
}
|
|
476
|
-
|
|
477
|
+
if (Array.isArray(method)) {
|
|
478
|
+
method.forEach((m) => addRoute(path, handler, m));
|
|
479
|
+
} else {
|
|
480
|
+
route.handlers[method] = toEventHandler(handler);
|
|
481
|
+
}
|
|
477
482
|
return router;
|
|
478
483
|
};
|
|
479
484
|
router.use = router.add = (path, handler, method) => addRoute(path, handler, method || "all");
|
package/dist/index.d.ts
CHANGED
|
@@ -12,12 +12,13 @@ interface H3Event {
|
|
|
12
12
|
declare type CompatibilityEvent = H3Event | IncomingMessage;
|
|
13
13
|
declare type _JSONValue<T = string | number | boolean> = T | T[] | Record<string, T>;
|
|
14
14
|
declare type JSONValue = _JSONValue<_JSONValue>;
|
|
15
|
-
declare type
|
|
16
|
-
|
|
15
|
+
declare type _H3Response = void | JSONValue | Buffer;
|
|
16
|
+
declare type H3Response = _H3Response | Promise<_H3Response>;
|
|
17
|
+
interface EventHandler<T extends H3Response = H3Response> {
|
|
17
18
|
'__is_handler__'?: true;
|
|
18
|
-
(event: CompatibilityEvent):
|
|
19
|
+
(event: CompatibilityEvent): T;
|
|
19
20
|
}
|
|
20
|
-
declare function defineEventHandler(handler: EventHandler): EventHandler
|
|
21
|
+
declare function defineEventHandler<T extends H3Response = H3Response>(handler: EventHandler<T>): EventHandler<T>;
|
|
21
22
|
declare const eventHandler: typeof defineEventHandler;
|
|
22
23
|
declare type LazyEventHandler = () => EventHandler | Promise<EventHandler>;
|
|
23
24
|
declare function defineLazyEventHandler(factory: LazyEventHandler): EventHandler;
|
|
@@ -52,7 +53,7 @@ declare type PromisifiedHandler = Handler<Promise<any>>;
|
|
|
52
53
|
declare type Middleware = (req: IncomingMessage, res: ServerResponse, next: (err?: Error) => any) => any;
|
|
53
54
|
declare type LazyHandler = () => Handler | Promise<Handler>;
|
|
54
55
|
declare type Encoding = false | 'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'latin1' | 'binary' | 'hex';
|
|
55
|
-
declare type HTTPMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE';
|
|
56
|
+
declare type HTTPMethod = 'GET' | 'HEAD' | 'PATCH' | 'POST' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE';
|
|
56
57
|
|
|
57
58
|
interface Layer {
|
|
58
59
|
route: string;
|
|
@@ -90,7 +91,7 @@ interface AppOptions {
|
|
|
90
91
|
}
|
|
91
92
|
declare function createApp(options?: AppOptions): App;
|
|
92
93
|
declare function use(app: App, arg1: string | Handler | InputLayer | InputLayer[], arg2?: Handler | Partial<InputLayer> | Handler[] | Middleware | Middleware[], arg3?: Partial<InputLayer>): App;
|
|
93
|
-
declare function createAppEventHandler(stack: Stack, options: AppOptions): EventHandler
|
|
94
|
+
declare function createAppEventHandler(stack: Stack, options: AppOptions): EventHandler<Promise<void>>;
|
|
94
95
|
|
|
95
96
|
/**
|
|
96
97
|
* H3 Runtime Error
|
|
@@ -162,7 +163,7 @@ declare function useRawBody(event: CompatibilityEvent, encoding?: Encoding): Enc
|
|
|
162
163
|
declare function useBody<T = any>(event: CompatibilityEvent): Promise<T>;
|
|
163
164
|
|
|
164
165
|
interface CacheConditions {
|
|
165
|
-
modifiedTime?: Date;
|
|
166
|
+
modifiedTime?: string | Date;
|
|
166
167
|
maxAge?: number;
|
|
167
168
|
etag?: string;
|
|
168
169
|
cacheControls?: string[];
|
|
@@ -233,7 +234,7 @@ declare function isStream(data: any): any;
|
|
|
233
234
|
declare function sendStream(event: CompatibilityEvent, data: any): Promise<void>;
|
|
234
235
|
|
|
235
236
|
declare type RouterMethod = Lowercase<HTTPMethod>;
|
|
236
|
-
declare type RouterUse = (path: string, handler: CompatibilityEventHandler, method?: RouterMethod) => Router;
|
|
237
|
+
declare type RouterUse = (path: string, handler: CompatibilityEventHandler, method?: RouterMethod | RouterMethod[]) => Router;
|
|
237
238
|
declare type AddRouteShortcuts = Record<RouterMethod, RouterUse>;
|
|
238
239
|
interface Router extends AddRouteShortcuts {
|
|
239
240
|
add: RouterUse;
|
|
@@ -242,4 +243,4 @@ interface Router extends AddRouteShortcuts {
|
|
|
242
243
|
}
|
|
243
244
|
declare function createRouter(): Router;
|
|
244
245
|
|
|
245
|
-
export { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CompatibilityEvent, CompatibilityEventHandler, DynamicEventHandler, Encoding, EventHandler, H3Error, H3Event, H3Response, HTTPMethod, Handler, IncomingMessage, InputLayer, InputStack, JSONValue, Layer, LazyEventHandler, LazyHandler, MIMES, Matcher, Middleware, NodeHandler, PromisifiedHandler, Router, RouterMethod, RouterUse, ServerResponse, Stack,
|
|
246
|
+
export { AddRouteShortcuts, App, AppOptions, AppUse, CacheConditions, CompatibilityEvent, CompatibilityEventHandler, DynamicEventHandler, Encoding, EventHandler, H3Error, H3Event, H3Response, HTTPMethod, Handler, IncomingMessage, InputLayer, InputStack, JSONValue, Layer, LazyEventHandler, LazyHandler, MIMES, Matcher, Middleware, NodeHandler, PromisifiedHandler, Router, RouterMethod, RouterUse, ServerResponse, Stack, appendHeader, assertMethod, callHandler, createApp, createAppEventHandler, createError, createEvent, createRouter, defaultContentType, defineEventHandler, defineHandle, defineHandler, defineLazyEventHandler, defineLazyHandler, defineMiddleware, deleteCookie, dynamicEventHandler, eventHandler, handleCacheHeaders, isError, isEvent, isEventHandler, isMethod, isStream, lazyEventHandler, lazyHandle, promisifyHandle, promisifyHandler, send, sendError, sendRedirect, sendStream, setCookie, toEventHandler, use, useBase, useBody, useCookie, useCookies, useMethod, useQuery, useRawBody };
|
package/dist/index.mjs
CHANGED
|
@@ -77,8 +77,9 @@ function handleCacheHeaders(event, opts) {
|
|
|
77
77
|
opts.cacheControls?.push(`max-age=${+opts.maxAge}`, `s-maxage=${+opts.maxAge}`);
|
|
78
78
|
}
|
|
79
79
|
if (opts.modifiedTime) {
|
|
80
|
+
const modifiedTime = new Date(opts.modifiedTime);
|
|
80
81
|
const ifModifiedSince = event.req.headers["if-modified-since"];
|
|
81
|
-
event.res.setHeader("Last-Modified",
|
|
82
|
+
event.res.setHeader("Last-Modified", modifiedTime.toUTCString());
|
|
82
83
|
if (ifModifiedSince) {
|
|
83
84
|
if (new Date(ifModifiedSince) >= opts.modifiedTime) {
|
|
84
85
|
cacheMatched = true;
|
|
@@ -465,7 +466,11 @@ function createRouter() {
|
|
|
465
466
|
routes[path] = route = { handlers: {} };
|
|
466
467
|
_router.insert(path, route);
|
|
467
468
|
}
|
|
468
|
-
|
|
469
|
+
if (Array.isArray(method)) {
|
|
470
|
+
method.forEach((m) => addRoute(path, handler, m));
|
|
471
|
+
} else {
|
|
472
|
+
route.handlers[method] = toEventHandler(handler);
|
|
473
|
+
}
|
|
469
474
|
return router;
|
|
470
475
|
};
|
|
471
476
|
router.use = router.add = (path, handler, method) => addRoute(path, handler, method || "all");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "h3",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.4",
|
|
4
4
|
"description": "Tiny JavaScript Server",
|
|
5
5
|
"repository": "unjs/h3",
|
|
6
6
|
"license": "MIT",
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
],
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"cookie-es": "^0.5.0",
|
|
22
|
-
"destr": "^1.1.
|
|
22
|
+
"destr": "^1.1.1",
|
|
23
23
|
"radix3": "^0.1.1",
|
|
24
|
-
"ufo": "^0.
|
|
24
|
+
"ufo": "^0.8.3"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"0x": "latest",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"connect": "latest",
|
|
36
36
|
"eslint": "latest",
|
|
37
37
|
"express": "latest",
|
|
38
|
-
"get-port": "^5.
|
|
38
|
+
"get-port": "^5.1.1",
|
|
39
39
|
"jiti": "latest",
|
|
40
40
|
"listhen": "latest",
|
|
41
41
|
"standard-version": "latest",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"unbuild": "latest",
|
|
45
45
|
"vitest": "latest"
|
|
46
46
|
},
|
|
47
|
-
"packageManager": "pnpm@6.32.
|
|
47
|
+
"packageManager": "pnpm@6.32.7",
|
|
48
48
|
"scripts": {
|
|
49
49
|
"build": "unbuild",
|
|
50
50
|
"dev": "vitest",
|