Skip to content

Commit 9eb6b81

Browse files
author
Rui Marinho
committed
Improve headers detection
koa uses `request.header` as an alias to `req.headers`, while express inherits `req.headers` from IncomingMessage.
1 parent 1ed9ff2 commit 9eb6b81

File tree

2 files changed

+34
-3
lines changed

2 files changed

+34
-3
lines changed

lib/parsers.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
var cookie = require('cookie');
2-
var isPlainObject = require('lodash._shimisplainobject');
32
var urlParser = require('url');
43
var utils = require('./utils');
54

@@ -61,10 +60,10 @@ module.exports.parseRequest = function parseRequest(req, kwargs) {
6160
// headers:
6261
//
6362
// node: req.headers
64-
// express: req.header
63+
// express: req.headers
6564
// koa: req.header
6665
//
67-
var headers = req.header || req.headers || {};
66+
var headers = req.headers || req.header || {};
6867

6968
// method:
7069
//

test/raven.parsers.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,38 @@ describe('raven.parsers', function(){
5454
parsed['sentry.interfaces.Http'].env.REMOTE_ADDR.should.equal('69.69.69.69');
5555
});
5656

57+
describe('`headers` detection', function() {
58+
it('should detect headers via `req.headers`', function(){
59+
var mockReq = {
60+
method: 'GET',
61+
host: 'mattrobenolt.com',
62+
url: '/some/path?key=value',
63+
headers: {
64+
foo: 'bar'
65+
}
66+
};
67+
68+
var parsed = raven.parsers.parseRequest(mockReq);
69+
70+
parsed['sentry.interfaces.Http'].headers.should.eql({ foo: 'bar' });
71+
});
72+
73+
it('should detect headers via `req.header`', function(){
74+
var mockReq = {
75+
method: 'GET',
76+
host: 'mattrobenolt.com',
77+
url: '/some/path?key=value',
78+
header: {
79+
foo: 'bar'
80+
}
81+
};
82+
83+
var parsed = raven.parsers.parseRequest(mockReq);
84+
85+
parsed['sentry.interfaces.Http'].headers.should.eql({ foo: 'bar' });
86+
});
87+
});
88+
5789
describe('`method` detection', function() {
5890
it('should detect method via `req.method`', function(){
5991
var mockReq = {

0 commit comments

Comments
 (0)