The middleware adds a getter to the request: isbot
.
- ✅ Lazy processing: performs the check only if it's actually used
- ✅ Memoisation: Operation result is cached
- ✅ Quick and Simple: Only check if it's a known crawler, does not parse the user agent string to a complex object
- ✅ Customisable bot list
const isbot = require('@routes/isbot');
app.use(isbot);
app.get('/api', (request, response) => {
if (request.isbot) {
// do things
}
...
response.sendStatus(200);
});
All customisation options from isbot package are also available here
isbot.exclude(['bot']);
isbot.extend(['(?<! cu)bot']);