Skip to content

Commit 3e89ac1

Browse files
committed
fixup! tls: allow client-side sockets to be half-opened
1 parent 087e4c3 commit 3e89ac1

File tree

1 file changed

+21
-11
lines changed

1 file changed

+21
-11
lines changed

test/parallel/test-tls-connect-allow-half-open-option.js

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,27 @@ const tls = require('tls');
2121
assert.strictEqual(socket.allowHalfOpen, false);
2222
}
2323

24-
2524
const server = tls.createServer({
2625
key: fixtures.readKey('agent1-key.pem'),
2726
cert: fixtures.readKey('agent1-cert.pem'),
2827
}, common.mustCall((socket) => {
2928
server.close();
3029

30+
let message = '';
31+
3132
socket.setEncoding('utf8');
32-
socket.on('data', common.mustCall((chunk) => {
33-
if (chunk === 'Hello') {
34-
socket.end(chunk);
35-
} else {
36-
assert.strictEqual(chunk, 'Bye');
37-
assert(!socket.writable);
33+
socket.on('data', (chunk) => {
34+
message += chunk;
35+
36+
if (message === 'Hello') {
37+
socket.end(message);
38+
message = '';
3839
}
39-
}, 2));
40+
});
41+
42+
socket.on('end', common.mustCall(() => {
43+
assert.strictEqual(message, 'Bye');
44+
}));
4045
}));
4146

4247
server.listen(0, common.mustCall(() => {
@@ -45,10 +50,15 @@ server.listen(0, common.mustCall(() => {
4550
rejectUnauthorized: false,
4651
allowHalfOpen: true,
4752
}, common.mustCall(() => {
48-
socket.on('data', common.mustCall((chunk) => {
49-
assert.strictEqual(chunk, 'Hello');
50-
}));
53+
let message = '';
54+
55+
socket.on('data', (chunk) => {
56+
message += chunk;
57+
});
58+
5159
socket.on('end', common.mustCall(() => {
60+
assert.strictEqual(message, 'Hello');
61+
5262
setTimeout(() => {
5363
assert(socket.writable);
5464
assert(socket.write('Bye'));

0 commit comments

Comments
 (0)