Node.js: ServerResponse.flushHeaders() implemented.
This closes #1006 issue on GitHub. Reviewed-by: Andrew Clayton <a.clayton@nginx.com>
This commit is contained in:
@@ -33,6 +33,13 @@ can be used as a unique request identifier.
|
|||||||
</para>
|
</para>
|
||||||
</change>
|
</change>
|
||||||
|
|
||||||
|
<change type="feature">
|
||||||
|
<para>
|
||||||
|
ServerRequest.flushHeaders() implemented in Node.js module to make it compatible
|
||||||
|
with Next.js.
|
||||||
|
</para>
|
||||||
|
</change>
|
||||||
|
|
||||||
</changes>
|
</changes>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -138,6 +138,10 @@ ServerResponse.prototype.removeHeader = function removeHeader(name) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ServerResponse.prototype.flushHeaders = function flushHeaders() {
|
||||||
|
this._sendHeaders();
|
||||||
|
};
|
||||||
|
|
||||||
ServerResponse.prototype._removeHeader = function _removeHeader(lc_name) {
|
ServerResponse.prototype._removeHeader = function _removeHeader(lc_name) {
|
||||||
let entry = this.headers[lc_name];
|
let entry = this.headers[lc_name];
|
||||||
let name_len = Buffer.byteLength(entry[0] + "", 'latin1');
|
let name_len = Buffer.byteLength(entry[0] + "", 'latin1');
|
||||||
|
|||||||
7
test/node/flush_headers/app.js
Normal file
7
test/node/flush_headers/app.js
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
require('http').createServer(function (req, res) {
|
||||||
|
res.setHeader('X-Header', 'blah');
|
||||||
|
res.flushHeaders();
|
||||||
|
res.flushHeaders(); // Should be idempotent.
|
||||||
|
res.end();
|
||||||
|
}).listen(8080);
|
||||||
@@ -303,6 +303,10 @@ def test_node_application_get_header_names():
|
|||||||
'x-header',
|
'x-header',
|
||||||
], 'get header names'
|
], 'get header names'
|
||||||
|
|
||||||
|
def test_node_application_flush_headers():
|
||||||
|
client.load('flush_headers')
|
||||||
|
|
||||||
|
assert client.get()['headers']['X-Header'] == 'blah'
|
||||||
|
|
||||||
def test_node_application_has_header():
|
def test_node_application_has_header():
|
||||||
client.load('has_header')
|
client.load('has_header')
|
||||||
|
|||||||
Reference in New Issue
Block a user