@malijs/iff
v0.2.0
Published
Conditionally add Mali middleware
Downloads
3
Readme
mali-iff
Conditionally add Mali middleware.
Opposite of @malijs/unless.
Installation
npm install @malijs/iff
API
@malijs/iff ⇒ function
Mali if middleware. Attach to any middleware and configure it to permit/pervent the middleware in question to be executed.
Returns: function - middleware
| Param | Type | Description | | --- | --- | --- | | options | Object | String | RegExp | function | - If string and one of Mali Call Types do middleware only if call the specified call type - If string and not a call type, assumed to be a call name; and middleware is executed only if the call name is the name specified. Call names checks are not case sensitive. - If function it's a test function that returns true / false. If the function returns true for the given call, the middleware will run. The function will be passed the call context. - If RegExp instance, if call name matches the regexp the middleware is run. | | options.name | String | Regex | Array | A string, a RegExp or an array of any of those. If the call name matches, the middleware will run. Call names checks are not case sensitive. | | options.type | String | Array | A string or an array of strings. If the call type matches, the middleware will run. | | options.custom | function | A test function that returns true / false. If the function returns true for the given request, the middleware will run. The function will be passed the call context. |
Example
const requestId = require('@malijs/requestid')
const iff = require('@malijs/iff')
const CallType = require('@malijs/call-types')
const toJSON = require('@malijs/tojson')
const rid = requestId()
rid.iff = iff
app.use(rid.iff('SomeMethod'))
toJSON.iff = iff
app.use(toJSON.iff({ type: [ CallType.UNARY, CallType.REQUEST_STREAM ] }))
License
Apache-2.0