diff --git a/lib/request.js b/lib/request.js index e7a451df6d9..68f10ef0b41 100644 --- a/lib/request.js +++ b/lib/request.js @@ -75,8 +75,7 @@ req.header = function header(name) { switch (lc) { case 'referer': case 'referrer': - return this.headers.referrer - || this.headers.referer; + return this.headers.referer || this.headers.referrer; default: return this.headers[lc]; } diff --git a/test/req.get.js b/test/req.get.js index e73d109c84a..20b625991d3 100644 --- a/test/req.get.js +++ b/test/req.get.js @@ -33,6 +33,20 @@ describe('req', function(){ .expect('http://foobar.com', done); }) + it('should prefer Referer over Referrer', function(done){ + var app = express(); + + app.use(function(req, res){ + res.end(req.get('Referer')); + }); + + request(app) + .post('/') + .set('Referrer', 'http://foobar.com') + .set('Referer', 'http://example.com') + .expect('http://example.com', done); + }) + it('should throw missing header name', function (done) { var app = express()