0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-21 21:19:50 +01:00
nodejs/test/parallel/test-net-remote-address.js
Daeyeon Jeong 9aef414b73
net: fix socket._getpeername
Fixes: https://github.com/nodejs/node/issues/43009

If calling `this._handle.getpeername` returns an error at the first
call, its result shouldn't be cached to `this._peername`.

Signed-off-by: Daeyeon Jeong daeyeon.dev@gmail.com

PR-URL: https://github.com/nodejs/node/pull/43010
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Zeyu "Alex" Yang <himself65@outlook.com>
2022-07-25 09:09:49 +01:00

24 lines
573 B
JavaScript

'use strict';
const common = require('../common');
const net = require('net');
const { strictEqual } = require('assert');
const server = net.createServer();
server.listen(common.mustCall(function() {
const socket = net.connect({ port: server.address().port });
strictEqual(socket.connecting, true);
strictEqual(socket.remoteAddress, undefined);
socket.on('connect', common.mustCall(function() {
strictEqual(socket.remoteAddress !== undefined, true);
socket.end();
}));
socket.on('end', common.mustCall(function() {
server.close();
}));
}));