expressjs.com icon indicating copy to clipboard operation
expressjs.com copied to clipboard

Document customizing `express.json()` size limit for specific routes

Open karlhorky opened this issue 1 year ago • 1 comments

In the following issue, it is requested to customize the body size limit for express.json() dynamically based on the API route:

@marbuser (Apr 11, 2019): I've got some endpoints and 90% of them I want to have a limit of around '2MB'. However, there is 1 specific route, my upload route, where I want to have an upload limit of '10MB'.

  • https://github.com/expressjs/express/issues/3932

There are some solutions provided in the thread, but maybe a simpler option would be this one inspired by this Stack Overflow answer:

// Parse application/json
// - limit on /upload: 5MB
// - limit on other routes: default of 100KB
app.use('/upload', express.json({ limit: '5mb' }));
app.use(/^(?!\/upload$)/, express.json());

This may be a nice example to document on the express.json() docs section

karlhorky avatar May 25 '23 09:05 karlhorky