UNPKG

express-payload-sanitizer

Version:

Express Payload Sanitizer is a middleware package for Express.js that provides two essential utilities: - **`cleanPayload`**: Cleans `req.body` by removing empty strings, `null` values, and empty objects. - **`restrictRequest`**: Validates `req.body` to e

43 lines (35 loc) 1.32 kB
function restrictRequest(req, res, next) { try { let queue = [req.body]; let containsNull = false; while (queue.length > 0) { let currentNode = queue.shift(); for (let key in currentNode) { if (currentNode.hasOwnProperty(key)) { let value = currentNode[key]; if (value === null || value === undefined || (typeof value === "number" && isNaN(value))) { containsNull = true; break; } if (typeof value === "object" && value !== null && value !== undefined && value !== NaN) { queue.push(value); } } } if (containsNull) { return res.status(422).json({ statusCode: 422, msg: "Request Contains Null or Undefined Value", }); } } next(); } catch (err) { return res.status(500).json({ statusCode: 500, msg: "Something went wrong", stack: process.env.NODE_ENV !== "production" ? err.stack : null, }); } } module.exports = restrictRequest;