http: there is no corked
property of stream
Do not check/use unexistent property, use `OutgoingMessage` instead. PR-URL: https://github.com/nodejs/node/pull/18325 Reviewed-By: Mithun Sasidharan <mithunsasidharan89@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
287f21e31d
commit
f29c2cbec5
@ -38,6 +38,8 @@ const errors = require('internal/errors');
|
|||||||
const { CRLF, debug } = common;
|
const { CRLF, debug } = common;
|
||||||
const { utcDate } = internalHttp;
|
const { utcDate } = internalHttp;
|
||||||
|
|
||||||
|
const kIsCorked = Symbol('isCorked');
|
||||||
|
|
||||||
var RE_FIELDS =
|
var RE_FIELDS =
|
||||||
/^(?:Connection|Transfer-Encoding|Content-Length|Date|Expect|Trailer|Upgrade)$/i;
|
/^(?:Connection|Transfer-Encoding|Content-Length|Date|Expect|Trailer|Upgrade)$/i;
|
||||||
var RE_CONN_VALUES = /(?:^|\W)close|upgrade(?:$|\W)/ig;
|
var RE_CONN_VALUES = /(?:^|\W)close|upgrade(?:$|\W)/ig;
|
||||||
@ -99,6 +101,7 @@ function OutgoingMessage() {
|
|||||||
|
|
||||||
this.finished = false;
|
this.finished = false;
|
||||||
this._headerSent = false;
|
this._headerSent = false;
|
||||||
|
this[kIsCorked] = false;
|
||||||
|
|
||||||
this.socket = null;
|
this.socket = null;
|
||||||
this.connection = null;
|
this.connection = null;
|
||||||
@ -648,9 +651,10 @@ function write_(msg, chunk, encoding, callback, fromEnd) {
|
|||||||
// signal the user to keep writing.
|
// signal the user to keep writing.
|
||||||
if (chunk.length === 0) return true;
|
if (chunk.length === 0) return true;
|
||||||
|
|
||||||
if (!fromEnd && msg.connection && !msg.connection.corked) {
|
if (!fromEnd && msg.connection && !msg[kIsCorked]) {
|
||||||
msg.connection.cork();
|
msg.connection.cork();
|
||||||
process.nextTick(connectionCorkNT, msg.connection);
|
msg[kIsCorked] = true;
|
||||||
|
process.nextTick(connectionCorkNT, msg, msg.connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
var len, ret;
|
var len, ret;
|
||||||
@ -679,7 +683,8 @@ function writeAfterEndNT(err, callback) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function connectionCorkNT(conn) {
|
function connectionCorkNT(msg, conn) {
|
||||||
|
msg[kIsCorked] = false;
|
||||||
conn.uncork();
|
conn.uncork();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user