|
1 | 1 | // @refresh skip |
2 | 2 |
|
3 | | -import { H3Event, Middleware } from "h3-v2"; |
| 3 | +import type { H3Event, Middleware } from "h3"; |
4 | 4 | import { getFetchEvent } from "../server/fetchEvent.ts"; |
5 | 5 | import type { FetchEvent } from "../server/types.ts"; |
6 | 6 |
|
@@ -35,41 +35,48 @@ function wrapRequestMiddleware(onRequest: RequestMiddleware) { |
35 | 35 | }; |
36 | 36 | } |
37 | 37 |
|
38 | | -function wrapResponseMiddleware(onBeforeResponse: ResponseMiddleware): Middleware { |
39 | | - return async ( |
40 | | - h3Event, |
41 | | - next |
42 | | - ) => { |
43 | | - const resp = await next(); |
| 38 | +function wrapResponseMiddleware( |
| 39 | + onBeforeResponse: ResponseMiddleware, |
| 40 | +): Middleware { |
| 41 | + return async (h3Event, next) => { |
| 42 | + const resp = await next(); |
44 | 43 |
|
45 | 44 | const fetchEvent = getFetchEvent(h3Event); |
46 | | - const mwResponse = await onBeforeResponse(fetchEvent, {body: (resp as any)?.body }); |
47 | | - if (mwResponse) return mwResponse |
| 45 | + const mwResponse = await onBeforeResponse(fetchEvent, { |
| 46 | + body: (resp as any)?.body, |
| 47 | + }); |
| 48 | + if (mwResponse) return mwResponse; |
48 | 49 | }; |
49 | 50 | } |
50 | 51 |
|
51 | | -export function createMiddleware(args: { |
52 | | - /** @deprecated Use H3 `Middleware` */ |
53 | | - onRequest?: RequestMiddleware | RequestMiddleware[] | undefined; |
54 | | - /** @deprecated Use H3 `Middleware` */ |
55 | | - onBeforeResponse?: ResponseMiddleware | ResponseMiddleware[] | undefined; |
56 | | -} | Middleware[]): Middleware[] { |
57 | | - if(Array.isArray(args)) return args |
| 52 | +export function createMiddleware( |
| 53 | + args: |
| 54 | + | { |
| 55 | + /** @deprecated Use H3 `Middleware` */ |
| 56 | + onRequest?: RequestMiddleware | RequestMiddleware[] | undefined; |
| 57 | + /** @deprecated Use H3 `Middleware` */ |
| 58 | + onBeforeResponse?: |
| 59 | + | ResponseMiddleware |
| 60 | + | ResponseMiddleware[] |
| 61 | + | undefined; |
| 62 | + } |
| 63 | + | Middleware[], |
| 64 | +): Middleware[] { |
| 65 | + if (Array.isArray(args)) return args; |
58 | 66 |
|
59 | | - const mw: Middleware[] = []; |
| 67 | + const mw: Middleware[] = []; |
60 | 68 |
|
61 | | - if(typeof args.onRequest === "function") { |
62 | | - mw.push(wrapRequestMiddleware(args.onRequest)); |
63 | | - } else if (Array.isArray(args.onRequest)) { |
64 | | - mw.push(...args.onRequest.map(wrapRequestMiddleware)); |
65 | | - } |
| 69 | + if (typeof args.onRequest === "function") { |
| 70 | + mw.push(wrapRequestMiddleware(args.onRequest)); |
| 71 | + } else if (Array.isArray(args.onRequest)) { |
| 72 | + mw.push(...args.onRequest.map(wrapRequestMiddleware)); |
| 73 | + } |
66 | 74 |
|
67 | | - if(typeof args.onBeforeResponse === "function") { |
68 | | - mw.push(wrapResponseMiddleware(args.onBeforeResponse)); |
69 | | - } else if (Array.isArray(args.onBeforeResponse)) { |
70 | | - mw.push(...args.onBeforeResponse.map(wrapResponseMiddleware)); |
71 | | - } |
| 75 | + if (typeof args.onBeforeResponse === "function") { |
| 76 | + mw.push(wrapResponseMiddleware(args.onBeforeResponse)); |
| 77 | + } else if (Array.isArray(args.onBeforeResponse)) { |
| 78 | + mw.push(...args.onBeforeResponse.map(wrapResponseMiddleware)); |
| 79 | + } |
72 | 80 |
|
73 | | - |
74 | | - return mw |
| 81 | + return mw; |
75 | 82 | } |
0 commit comments