diff --git a/lib/response.js b/lib/response.js index 9362d0ed5d..5c530b54b4 100644 --- a/lib/response.js +++ b/lib/response.js @@ -14,6 +14,7 @@ var contentDisposition = require('content-disposition'); var createError = require('http-errors') +var deprecate = require('depd')('express'); var encodeUrl = require('encodeurl'); var escapeHtml = require('escape-html'); var http = require('node:http'); @@ -825,6 +826,18 @@ res.redirect = function redirect(url) { address = arguments[1] } + if (!address) { + deprecate('Provide a url argument'); + } + + if (typeof address !== 'string') { + deprecate('Url must be a string'); + } + + if (typeof status !== 'number') { + deprecate('Status must be a number'); + } + // Set location header address = this.location(address).get('Location'); diff --git a/package.json b/package.json index 5e5b02d3d0..d0060b1d8f 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", + "depd": "^2.0.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1",