This repo contains the code to make middleware work with the HTTP and Websocket server. If you are looking for generic middleware library, try co-compose.
const MiddlewareBase = require('@adonisjs/middleware-base')
const middleware = MiddlewareBase('handle')
// register global middleware
middleware.registerGlobal(['App/Middleware/BodyParser'])
await middleware
.getGlobalAndNamed([])
.params([ctx])
.run()
- registerGlobal(middleware) ⇒
void
Register global middleware
- use(middleware) ⇒
void
Register server type middleware
- registerNamed(middleware) ⇒
void
Register an object of named middleware
- composeServer() ⇒
Runner
Composes server level middleware
- composeGlobalAndNamed(namedReference) ⇒
Runner
Composes global and named middleware together. Pass empty array when no named middleware are supposed to be executed.
MiddlewareBase class is a simple abstraction written to work just with AdonisJs middleware layer.
Adonis has global, named and server middleware with a slight difference in each. So this class understands all and offers a simple abstraction around them.
Param | Type | Description |
---|---|---|
middlewareFn | String |
The function to be called on middleware class |
[warnFn] | function |
Register global middleware
Kind: global function
Throws:
InvalidArgumentException
If middleware is not an array
Param | Type |
---|---|
middleware | Array |
Example
middleware.registerGlobal([
'Adonis/Middleware/BodyParser',
'Adonis/Middleware/Session'
])
Register server type middleware
Kind: global function
Throws:
InvalidArgumentException
If middleware is not an array
Param | Type |
---|---|
middleware | Array |
Example
middleware.use(['Adonis/Middleware/Static'])
Register an object of named middleware
Kind: global function
Throws:
InvalidArgumentException
If middleware is not an object with key/value pair.
Param | Type |
---|---|
middleware | Object |
Example
middleware.registerNamed({
auth: 'Adonis/Middleware/Auth'
})
Composes server level middleware
Composes global and named middleware together. Pass empty array when no named middleware are supposed to be executed.
Kind: global function
Param | Type |
---|---|
namedReference | Array |