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()
void
Register global middleware
void
Register server type middleware
void
Register an object of named middleware
Runner
Composes server level middleware
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 |
void
Register global middleware
Kind: global function
Throws:
InvalidArgumentException
If middleware is not an arrayParam | Type |
---|---|
middleware | Array |
Example
middleware.registerGlobal([
'Adonis/Middleware/BodyParser',
'Adonis/Middleware/Session'
])
void
Register server type middleware
Kind: global function
Throws:
InvalidArgumentException
If middleware is not an arrayParam | Type |
---|---|
middleware | Array |
Example
middleware.use(['Adonis/Middleware/Static'])
void
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'
})
Runner
Composes server level middleware
Runner
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 |