hono 0.0.7 → 0.0.8
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/README.md +15 -2
- package/package.json +1 -1
- package/src/hono.d.ts +6 -1
- package/src/middleware/poweredBy.js +6 -0
- package/src/middleware/poweredBy.test.js +17 -0
- package/src/middleware.js +5 -1
- package/src/middleware.test.js +17 -0
package/README.md
CHANGED
|
@@ -102,6 +102,19 @@ app
|
|
|
102
102
|
|
|
103
103
|
## Middleware
|
|
104
104
|
|
|
105
|
+
### Builtin Middleware
|
|
106
|
+
|
|
107
|
+
```js
|
|
108
|
+
const { Hono, Middleware } = require('hono')
|
|
109
|
+
|
|
110
|
+
...
|
|
111
|
+
|
|
112
|
+
app.use('*', Middleware.poweredBy)
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Custom Middleware
|
|
117
|
+
|
|
105
118
|
```js
|
|
106
119
|
const logger = (c, next) => {
|
|
107
120
|
console.log(`[${c.req.method}] ${c.req.url}`)
|
|
@@ -113,8 +126,8 @@ const addHeader = (c, next) => {
|
|
|
113
126
|
c.res.headers.add('x-message', 'This is middleware!')
|
|
114
127
|
}
|
|
115
128
|
|
|
116
|
-
app
|
|
117
|
-
app
|
|
129
|
+
app.use('*', logger)
|
|
130
|
+
app.use('/message/*', addHeader)
|
|
118
131
|
|
|
119
132
|
app.get('/message/hello', () => 'Hello Middleware!')
|
|
120
133
|
```
|
package/package.json
CHANGED
package/src/hono.d.ts
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const fetch = require('node-fetch')
|
|
2
|
+
const { Hono, Middleware } = require('../hono')
|
|
3
|
+
|
|
4
|
+
describe('Powered by Middleware', () => {
|
|
5
|
+
const app = new Hono()
|
|
6
|
+
|
|
7
|
+
app.use('*', Middleware.poweredBy)
|
|
8
|
+
app.get('/', () => new fetch.Response('root'))
|
|
9
|
+
|
|
10
|
+
it('Response headers include X-Powered-By', async () => {
|
|
11
|
+
let req = new fetch.Request('https://example.com/')
|
|
12
|
+
let res = await app.dispatch(req, new fetch.Response())
|
|
13
|
+
expect(res).not.toBeNull()
|
|
14
|
+
expect(res.status).toBe(200)
|
|
15
|
+
expect(res.headers.get('X-Powered-By')).toBe('Hono')
|
|
16
|
+
})
|
|
17
|
+
})
|
package/src/middleware.js
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const fetch = require('node-fetch')
|
|
2
|
+
const { Hono, Middleware } = require('./hono')
|
|
3
|
+
|
|
4
|
+
describe('Builtin Middleware', () => {
|
|
5
|
+
const app = new Hono()
|
|
6
|
+
|
|
7
|
+
app.use('*', Middleware.poweredBy)
|
|
8
|
+
app.get('/', () => new fetch.Response('root'))
|
|
9
|
+
|
|
10
|
+
it('Builtin Powered By Middleware', async () => {
|
|
11
|
+
let req = new fetch.Request('https://example.com/')
|
|
12
|
+
let res = await app.dispatch(req, new fetch.Response())
|
|
13
|
+
expect(res).not.toBeNull()
|
|
14
|
+
expect(res.status).toBe(200)
|
|
15
|
+
expect(res.headers.get('X-Powered-By')).toBe('Hono')
|
|
16
|
+
})
|
|
17
|
+
})
|