aboutsummaryrefslogtreecommitdiff
path: root/test/parallel/test-http-response-cork.js
diff options
context:
space:
mode:
authorRobert Nagy <ronagy@icloud.com>2019-08-08 21:12:41 +0200
committerAnna Henningsen <anna@addaleax.net>2019-11-13 17:04:22 +0000
commitf3ea4e9598242f2012e2093157671fc309452eaf (patch)
tree0e73de7fd02bd474b9a1b8c68305c51731505513 /test/parallel/test-http-response-cork.js
parentdc7b5fca3ae2bcf74fdba8ad47ea499dbd2f0fd4 (diff)
downloadandroid-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.js33
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();
+ }));
+ });
+});