Skip to content

Commit 2299d19

Browse files
alexandre-abriouxwbt
authored andcommitted
fix: handle undefined rejections
1 parent 4572c2a commit 2299d19

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

lib/winston/rejection-handler.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@ module.exports = class RejectionHandler {
7474
* @returns {mixed} - TODO: add return description.
7575
*/
7676
getAllInfo(err) {
77-
let { message } = err;
78-
if (!message && typeof err === 'string') {
79-
message = err;
77+
let message = null;
78+
if (err) {
79+
message = typeof err === 'string' ? err : err.message;
8080
}
8181

8282
return {
@@ -85,9 +85,9 @@ module.exports = class RejectionHandler {
8585
level: 'error',
8686
message: [
8787
`unhandledRejection: ${message || '(no error message)'}`,
88-
err.stack || ' No stack trace'
88+
err && err.stack || ' No stack trace'
8989
].join('\n'),
90-
stack: err.stack,
90+
stack: err && err.stack,
9191
exception: true,
9292
date: new Date().toString(),
9393
process: this.getProcessInfo(),

test/rejection-handler.test.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,12 @@ describe('UnhandledRejectionHandler', function () {
106106
helpers.reject('wtf this rejection').then(done());
107107
});
108108

109+
it('.getAllInfo(undefined)', function () {
110+
var handler = helpers.rejectionHandler();
111+
// eslint-disable-next-line no-undefined
112+
handler.getAllInfo(undefined);
113+
});
114+
109115
after(function () {
110116
//
111117
// Restore normal `runTest` functionality

0 commit comments

Comments
 (0)