File tree Expand file tree Collapse file tree 3 files changed +18
-15
lines changed Expand file tree Collapse file tree 3 files changed +18
-15
lines changed Original file line number Diff line number Diff line change 5
5
"scripts" : {
6
6
"test" : " jest" ,
7
7
"start:express" : " ts-node src/runtimes/express" ,
8
- "start:fastify" : " ts-node src/runtimes/fastify"
8
+ "start:fastify" : " ts-node src/runtimes/fastify" ,
9
+ "start:h3" : " ts-node src/runtimes/h3"
9
10
},
10
11
"dependencies" : {
11
12
"@backhooks/core" : " ^0.2.0" ,
Original file line number Diff line number Diff line change @@ -5,5 +5,6 @@ export const mainHandler = async () => {
5
5
const logger = useLogger ( ) ;
6
6
logger . debug ( "Executing main handler." ) ;
7
7
const headers = useHeaders ( ) ;
8
+ logger . debug ( headers ) ;
8
9
return headers ;
9
10
} ;
Original file line number Diff line number Diff line change 4
4
toNodeListener ,
5
5
getHeaders ,
6
6
readBody ,
7
+ H3Event ,
8
+ App ,
7
9
} from "h3" ;
8
10
import { listen } from "listhen" ;
9
11
import {
@@ -16,33 +18,32 @@ import { mainHandler } from "../handlers";
16
18
17
19
const app = createApp ( ) ;
18
20
19
- const hookableEventHandler : typeof eventHandler = ( handler ) => {
20
- return eventHandler ( async ( e ) => {
21
- return runHookContext ( async ( ) => {
21
+ const makeHookableApp = ( h3App : App ) => {
22
+ const originalHandler = h3App . handler ;
23
+ h3App . handler = async ( event : H3Event ) => {
24
+ return runHookContext ( ( ) => {
25
+ const headers = getHeaders ( event ) ;
22
26
configureHeadersHook ( ( state ) => {
23
27
return {
24
28
...state ,
25
- fetch ( ) {
26
- const headers = getHeaders ( e ) ;
27
- return headers as Record < string , string > ;
28
- } ,
29
+ headers,
29
30
} ;
30
31
} ) ;
31
32
configureBodyHook ( ( state ) => {
32
33
return {
33
34
...state ,
34
35
fetch ( ) {
35
- const body = readBody ( e ) ;
36
- return body ;
36
+ return readBody ( event ) ;
37
37
} ,
38
38
} ;
39
39
} ) ;
40
- const response = await handler ( e ) ;
41
- return response ;
42
- } ) as ReturnType < typeof handler > ;
43
- } ) ;
40
+ return originalHandler ( event ) ;
41
+ } ) ;
42
+ } ;
44
43
} ;
45
44
46
- app . use ( "/" , hookableEventHandler ( mainHandler ) ) ;
45
+ makeHookableApp ( app ) ;
46
+
47
+ app . use ( "/" , eventHandler ( mainHandler ) ) ;
47
48
48
49
listen ( toNodeListener ( app ) ) ;
You can’t perform that action at this time.
0 commit comments