Express.js middleware to check whether the client is willing to accept JSON response
Express.js middleware to check whether the client is willing to accept JSON response.
import { type Request, type Response, Router } from 'express';
import { acceptsJsonMiddleware } from '@myrotvorets/express-acceptsjson-middleware';
const router = Router();
router.get('/some-path', acceptsJsonMiddleware, otherHandler);
The middleware checks the presence of Accept
HTTP header, and if it is there, it checks whther the client is willing to accept JSON. If not, it returns 406 Not Acceptable error (with JSON payload :-) ).
It is considered that the client is willing to accept JSON if at least one of the following conditions is true:
Accept
header;Accept
header contains */*
or */json
;Accept
header contains application/*
or application/json
.The actual check is performed by Request.accepts().