h3 0.7.2 → 0.7.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/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", +opts.modifiedTime + "");
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
- route.handlers[method] = toEventHandler(handler);
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
@@ -10,8 +10,12 @@ interface H3Event {
10
10
  context: Record<string, any>;
11
11
  }
12
12
  declare type CompatibilityEvent = H3Event | IncomingMessage;
13
- declare type _JSONValue<T = string | number | boolean> = T | T[] | Record<string, T>;
14
- declare type JSONValue = _JSONValue<_JSONValue>;
13
+ interface JSONObject {
14
+ [x: string]: JSONValue;
15
+ }
16
+ interface JSONArray extends Array<JSONValue> {
17
+ }
18
+ declare type JSONValue = string | number | boolean | JSONObject | JSONArray;
15
19
  declare type _H3Response = void | JSONValue | Buffer;
16
20
  declare type H3Response = _H3Response | Promise<_H3Response>;
17
21
  interface EventHandler<T extends H3Response = H3Response> {
@@ -163,7 +167,7 @@ declare function useRawBody(event: CompatibilityEvent, encoding?: Encoding): Enc
163
167
  declare function useBody<T = any>(event: CompatibilityEvent): Promise<T>;
164
168
 
165
169
  interface CacheConditions {
166
- modifiedTime?: Date;
170
+ modifiedTime?: string | Date;
167
171
  maxAge?: number;
168
172
  etag?: string;
169
173
  cacheControls?: string[];
@@ -234,7 +238,7 @@ declare function isStream(data: any): any;
234
238
  declare function sendStream(event: CompatibilityEvent, data: any): Promise<void>;
235
239
 
236
240
  declare type RouterMethod = Lowercase<HTTPMethod>;
237
- declare type RouterUse = (path: string, handler: CompatibilityEventHandler, method?: RouterMethod) => Router;
241
+ declare type RouterUse = (path: string, handler: CompatibilityEventHandler, method?: RouterMethod | RouterMethod[]) => Router;
238
242
  declare type AddRouteShortcuts = Record<RouterMethod, RouterUse>;
239
243
  interface Router extends AddRouteShortcuts {
240
244
  add: RouterUse;
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", +opts.modifiedTime + "");
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
- route.handlers[method] = toEventHandler(handler);
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.2",
3
+ "version": "0.7.5",
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.0",
22
+ "destr": "^1.1.1",
23
23
  "radix3": "^0.1.1",
24
- "ufo": "^0.7.11"
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.0.0",
38
+ "get-port": "^6.1.2",
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.3",
47
+ "packageManager": "pnpm@6.32.11",
48
48
  "scripts": {
49
49
  "build": "unbuild",
50
50
  "dev": "vitest",