Skip to content

Commit e7dae6f

Browse files
authored
Fix get headers when null (#79)
* Update index.js * bump version
1 parent e1738af commit e7dae6f

File tree

3 files changed

+21
-10
lines changed

3 files changed

+21
-10
lines changed

lib/index.js

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,15 @@ var defaultIdentifyUser = function (req, res) {
5757
return undefined;
5858
};
5959

60+
var getReqHeaders = function (req) {
61+
if (req.headers) {
62+
return req.headers;
63+
} else if (req.getHeaders) {
64+
return req.getHeaders() || {};
65+
}
66+
return {};
67+
}
68+
6069
/**
6170
* @typedef {Object} MoesifOptions
6271
* @property {string} applicationId
@@ -341,9 +350,11 @@ function makeMoesifMiddleware(options) {
341350
var rawReqDataFromEventEmitter;
342351
var dataEventTracked = false;
343352

353+
var reqHeaders = getReqHeaders(req);
354+
344355
// determines if the request is or isn't a multipart/form-data "file" type
345-
function isMultiPartUpload(request) {
346-
const contentTypeHeader = request.headers['content-type'];
356+
function isMultiPartUpload() {
357+
const contentTypeHeader = reqHeaders && reqHeaders['content-type'];
347358
if (!contentTypeHeader) {
348359
return false;
349360
} else if (contentTypeHeader.indexOf('multipart/form-data') >= 0) {
@@ -352,15 +363,15 @@ function makeMoesifMiddleware(options) {
352363
return false;
353364
}
354365

355-
var multiPartUpload = isMultiPartUpload(req);
366+
var multiPartUpload = isMultiPartUpload();
356367

357368
if (
358369
options.logBody &&
359370
!req.body &&
360-
req.headers &&
361-
req.headers['content-type'] &&
362-
req.headers['content-length'] &&
363-
parseInt(req.headers['content-length']) > 0 &&
371+
reqHeaders &&
372+
reqHeaders['content-type'] &&
373+
reqHeaders['content-length'] &&
374+
parseInt(reqHeaders['content-length']) > 0 &&
364375
//if the request is "multipart/form-data" file type, we do not attempt to capture the body, otherwise we capture it
365376
!multiPartUpload
366377
) {
@@ -467,7 +478,7 @@ function makeMoesifMiddleware(options) {
467478
var addTxIdToResponseStartTime = Date.now();
468479
let disableTransactionId = options.disableTransactionId ? options.disableTransactionId : false;
469480
if (!disableTransactionId) {
470-
let txId = req.headers[TRANSACTION_ID_HEADER] || uuid4();
481+
let txId = reqHeaders[TRANSACTION_ID_HEADER] || uuid4();
471482
// Use setHeader() instead of set() so it works with plain http-module and Express
472483
res.setHeader(TRANSACTION_ID_HEADER, txId);
473484
}

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "moesif-nodejs",
3-
"version": "3.5.1",
3+
"version": "3.5.2",
44
"description": "Monitoring agent to log API calls to Moesif for deep API analytics",
55
"main": "lib/index.js",
66
"typings": "dist/index.d.ts",

0 commit comments

Comments
 (0)