@@ -39,28 +39,32 @@ pnpm add h3
39
39
## Usage
40
40
41
41
``` ts
42
- import { createServer } from ' http'
43
- import { createApp , eventHandler , toNodeListener } from ' h3 '
42
+ import { createServer } from " node: http" ;
43
+ import { createApp , eventHandler , toNodeListener } from " h3 " ;
44
44
45
- const app = createApp ()
46
- app .use (' /' , eventHandler (() => ' Hello world!' ))
45
+ const app = createApp ();
46
+ app .use (
47
+ " /" ,
48
+ eventHandler (() => " Hello world!" )
49
+ );
47
50
48
- createServer (toNodeListener (app )).listen (process .env .PORT || 3000 )
51
+ createServer (toNodeListener (app )).listen (process .env .PORT || 3000 );
49
52
```
50
53
51
- <details >
52
- <summary >Example using <a href =" https://github.com/unjs/listhen " >listhen</a > for an elegant listener.</summary >
54
+ Example using <a href =" https://github.com/unjs/listhen " >listhen</a > for an elegant listener:
53
55
54
56
``` ts
55
- import { createApp , toNodeListener } from ' h3 '
56
- import { listen } from ' listhen'
57
+ import { createApp , eventHandler , toNodeListener } from " h3 " ;
58
+ import { listen } from " listhen" ;
57
59
58
- const app = createApp ()
59
- app .use (' /' , eventHandler (() => ' Hello world!' ))
60
+ const app = createApp ();
61
+ app .use (
62
+ " /" ,
63
+ eventHandler (() => " Hello world!" )
64
+ );
60
65
61
- listen (toNodeListener (app ))
66
+ listen (toNodeListener (app ));
62
67
```
63
- </details >
64
68
65
69
## Router
66
70
@@ -69,15 +73,21 @@ The `app` instance created by `h3` uses a middleware stack (see [how it works](#
69
73
To opt-in using a more advanced and convenient routing system, we can create a router instance and register it to app instance.
70
74
71
75
``` ts
72
- import { createApp , eventHandler , createRouter } from ' h3 '
76
+ import { createApp , eventHandler , createRouter } from " h3 " ;
73
77
74
- const app = createApp ()
78
+ const app = createApp ();
75
79
76
80
const router = createRouter ()
77
- .get (' /' , eventHandler (() => ' Hello World!' ))
78
- .get (' /hello/:name' , eventHandler (event => ` Hello ${event .context .params .name }! ` ))
79
-
80
- app .use (router )
81
+ .get (
82
+ " /" ,
83
+ eventHandler (() => " Hello World!" )
84
+ )
85
+ .get (
86
+ " /hello/:name" ,
87
+ eventHandler ((event ) => ` Hello ${event .context .params .name }! ` )
88
+ );
89
+
90
+ app .use (router );
81
91
```
82
92
83
93
** Tip:** We can register same route more than once with different methods.
@@ -138,6 +148,9 @@ H3 has concept of compasable utilities that accept `event` (from `eventHandler((
138
148
- ` createError ({ statusCode, statusMessage, data? })`
139
149
- ` sendProxy (event , { target, headers? , fetchOptions? , fetch? , sendStream? })`
140
150
- ` proxyRequest (event , { target, headers? , fetchOptions? , fetch? , sendStream? })`
151
+ - ` setResponseStatus (event , status)`
152
+ - ` getResponseStatus (event )`
153
+ - ` getResponseStatusText (event )`
141
154
142
155
👉 You can learn more about usage in [JSDocs Documentation](https://www.jsdocs.io/package/h3#package-functions).
143
156
0 commit comments