#200·morgan

Add support for request-received middleware

Author: niftylettuceCreated Jun 13, 2019Updated Feb 28, 2020
Labelsenhancementprfuture

The request-received middleware at https://github.com/cabinjs/request-received exposes a Symbol.for property, which this package could conditionally consume if interested (as opposed to just generating a new Date().

The code at https://github.com/expressjs/morgan/blob/master/index.js#L506-L507 would change as follows:

diff
-  this._startAt = process.hrtime()
+  this._startAt = this[Symbol.for('request-received.startAt')] ? this[Symbol.for('request-received.startAt')] : process.hrtime()
-  this._startTime = new Date()
+  this._startTime = this[Symbol.for('request-received.startTime')] ? this[Symbol.for('request-received.startTime')] : new Date()