Package Exports
- @tinyhttp/unless
- @tinyhttp/unless/package.json
Readme
@tinyhttp/unless
Unless middleware for tinyhttp that executes a middleware conditionally.
Install
pnpm i @tinyhttp/unlessAPI
unless(middleware, (UnlessMiddlewareOptions | CustomUnless))
The UnlessMiddlewareOptions object can include:
- method- string or array of strings that describe forbidden http methods such as GET, POST, PUT etc...
- path- array of strings, Regex and objects that include- urland- methodsproperties, which will be compared against the request.
- ext- string or array of strings that describe forbidden path ends (e.g. in- /user/123it will check against- /123).
The CustomUnless is a function that receives a Request object and returns a boolean. The result of the function will determine if the execution of the middleware is skipped.
Example
import { App } from '@tinyhttp/app'
import { unless } from '@tinyhttp/unless'
import { cors } from '@tinyhttp/cors'
const app = new App()
//cMethod example
app.use(unless(cors(),  { method: ['GET', 'POST'] }))
//cExt example
app.use(unless(cors(), { ext: '/public' }))
// Custom function example
app.use(unless(cors(), (req) => req.method === 'GET')
// Path example
app.use(unless(cors(), { path: ['/content/public', /user/, { url: '/public', methods: ['GET'] }] })
app.listen(3000)