diff options
author | Robert Nagy <ronagy@icloud.com> | 2019-08-08 21:12:41 +0200 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2019-11-13 17:04:22 +0000 |
commit | f3ea4e9598242f2012e2093157671fc309452eaf (patch) | |
tree | 0e73de7fd02bd474b9a1b8c68305c51731505513 /test/parallel/test-http-response-cork.js | |
parent | dc7b5fca3ae2bcf74fdba8ad47ea499dbd2f0fd4 (diff) | |
download | android-node-v8-f3ea4e9598242f2012e2093157671fc309452eaf.tar.gz android-node-v8-f3ea4e9598242f2012e2093157671fc309452eaf.tar.bz2 android-node-v8-f3ea4e9598242f2012e2093157671fc309452eaf.zip |
http: outgoing cork
PR-URL: https://github.com/nodejs/node/pull/29053
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'test/parallel/test-http-response-cork.js')
-rw-r--r-- | test/parallel/test-http-response-cork.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/parallel/test-http-response-cork.js b/test/parallel/test-http-response-cork.js new file mode 100644 index 0000000000..4c85412c7b --- /dev/null +++ b/test/parallel/test-http-response-cork.js @@ -0,0 +1,33 @@ +'use strict'; +const common = require('../common'); +const http = require('http'); +const assert = require('assert'); + +const server = http.createServer((req, res) => { + let corked = false; + const originalWrite = res.socket.write; + res.socket.write = common.mustCall((...args) => { + assert.strictEqual(corked, false); + return originalWrite.call(res.socket, ...args); + }, 5); + corked = true; + res.cork(); + assert.strictEqual(res.writableCorked, res.socket.writableCorked); + res.cork(); + assert.strictEqual(res.writableCorked, res.socket.writableCorked); + res.writeHead(200, { 'a-header': 'a-header-value' }); + res.uncork(); + assert.strictEqual(res.writableCorked, res.socket.writableCorked); + corked = false; + res.end('asd'); + assert.strictEqual(res.writableCorked, res.socket.writableCorked); +}); + +server.listen(0, () => { + http.get({ port: server.address().port }, (res) => { + res.on('data', common.mustCall()); + res.on('end', common.mustCall(() => { + server.close(); + })); + }); +}); |