http: add flushHeaders and deprecate flush
PR-URL: https://github.com/iojs/io.js/pull/1156 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Christian Tellnes <christian@tellnes.no> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
This commit is contained in:
Родитель
68d4bed2fd
Коммит
b2e00e38dc
|
@ -866,7 +866,7 @@ the client should send the request body.
|
|||
Emitted when the request has been aborted by the client. This event is only
|
||||
emitted on the first call to `abort()`.
|
||||
|
||||
### request.flush()
|
||||
### request.flushHeaders()
|
||||
|
||||
Flush the request headers.
|
||||
|
||||
|
@ -875,7 +875,7 @@ call `request.end()` or write the first chunk of request data. It then tries
|
|||
hard to pack the request headers and data into a single TCP packet.
|
||||
|
||||
That's usually what you want (it saves a TCP round-trip) but not when the first
|
||||
data isn't sent until possibly much later. `request.flush()` lets you bypass
|
||||
data isn't sent until possibly much later. `request.flushHeaders()` lets you bypass
|
||||
the optimization and kickstart the request.
|
||||
|
||||
### request.write(chunk[, encoding][, callback])
|
||||
|
|
|
@ -630,10 +630,14 @@ OutgoingMessage.prototype._flush = function() {
|
|||
};
|
||||
|
||||
|
||||
OutgoingMessage.prototype.flush = function() {
|
||||
OutgoingMessage.prototype.flushHeaders = function() {
|
||||
if (!this._header) {
|
||||
// Force-flush the headers.
|
||||
this._implicitHeader();
|
||||
this._send('');
|
||||
}
|
||||
};
|
||||
|
||||
OutgoingMessage.prototype.flush = util.deprecate(function() {
|
||||
this.flushHeaders();
|
||||
}, 'flush is deprecated. Use flushHeaders instead.');
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
'use strict';
|
||||
const common = require('../common');
|
||||
const assert = require('assert');
|
||||
const http = require('http');
|
||||
|
||||
const server = http.createServer();
|
||||
server.on('request', function(req, res){
|
||||
assert(req.headers['foo'], 'bar');
|
||||
res.end('ok');
|
||||
server.close();
|
||||
});
|
||||
server.listen(common.PORT, '127.0.0.1', function() {
|
||||
let req = http.request({
|
||||
method: 'GET',
|
||||
host: '127.0.0.1',
|
||||
port: common.PORT,
|
||||
});
|
||||
req.setHeader('foo', 'bar');
|
||||
req.flushHeaders();
|
||||
});
|
Загрузка…
Ссылка в новой задаче