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",