http: flush stored header
`flushHeaders` should work for header written with `writeHead`. PR-URL: https://github.com/nodejs/io.js/pull/1695 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
This commit is contained in:
parent
4e90c82cdb
commit
2c686fd3ce
@ -636,10 +636,11 @@ OutgoingMessage.prototype._flush = function() {
|
|||||||
|
|
||||||
OutgoingMessage.prototype.flushHeaders = function() {
|
OutgoingMessage.prototype.flushHeaders = function() {
|
||||||
if (!this._header) {
|
if (!this._header) {
|
||||||
// Force-flush the headers.
|
|
||||||
this._implicitHeader();
|
this._implicitHeader();
|
||||||
this._send('');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Force-flush the headers.
|
||||||
|
this._send('');
|
||||||
};
|
};
|
||||||
|
|
||||||
OutgoingMessage.prototype.flush = util.deprecate(function() {
|
OutgoingMessage.prototype.flush = util.deprecate(function() {
|
||||||
|
@ -5,7 +5,7 @@ const http = require('http');
|
|||||||
|
|
||||||
const server = http.createServer();
|
const server = http.createServer();
|
||||||
server.on('request', function(req, res) {
|
server.on('request', function(req, res) {
|
||||||
assert(req.headers['foo'], 'bar');
|
assert.equal(req.headers['foo'], 'bar');
|
||||||
res.end('ok');
|
res.end('ok');
|
||||||
server.close();
|
server.close();
|
||||||
});
|
});
|
||||||
|
27
test/parallel/test-http-flush-response-headers.js
Normal file
27
test/parallel/test-http-flush-response-headers.js
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
'use strict';
|
||||||
|
const common = require('../common');
|
||||||
|
const assert = require('assert');
|
||||||
|
const http = require('http');
|
||||||
|
|
||||||
|
const server = http.createServer();
|
||||||
|
|
||||||
|
server.on('request', function(req, res) {
|
||||||
|
res.writeHead(200, {'foo': 'bar'});
|
||||||
|
res.flushHeaders();
|
||||||
|
res.flushHeaders(); // Should be idempotent.
|
||||||
|
});
|
||||||
|
server.listen(common.PORT, common.localhostIPv4, function() {
|
||||||
|
var req = http.request({
|
||||||
|
method: 'GET',
|
||||||
|
host: common.localhostIPv4,
|
||||||
|
port: common.PORT,
|
||||||
|
}, onResponse);
|
||||||
|
|
||||||
|
req.end();
|
||||||
|
|
||||||
|
function onResponse(res) {
|
||||||
|
assert.equal(res.headers['foo'], 'bar');
|
||||||
|
res.destroy();
|
||||||
|
server.close();
|
||||||
|
}
|
||||||
|
});
|
Loading…
x
Reference in New Issue
Block a user