Skip to content

Commit c0148a0

Browse files
committed
chore(error): logger socker error info
1 parent 381223d commit c0148a0

File tree

1 file changed

+32
-8
lines changed

1 file changed

+32
-8
lines changed

bin/tsw/ajax/ajax.js

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -556,19 +556,43 @@ Ajax.prototype.doRequest = function(opt) {
556556
request.once('socket', function(socket) {
557557
if (socket.remoteAddress) {
558558
this.remoteIp = socket.remoteAddress;
559+
logger.debug(`${logPre}socket reuse ${socket.remoteAddress}:${socket.remotePort}`);
559560
return;
560561
}
561562

563+
const onError = (err) => {
564+
logger.error(logPre + err.stack);
565+
clean();
566+
this.emit('fail');
567+
};
568+
569+
const onConnect = function() {
570+
logger.debug(`${logPre}connect ${this.remoteAddress}:${this.remotePort}`);
571+
clean();
572+
};
573+
574+
const onLookup = (err, address, family, host) => {
575+
if (err) {
576+
logger.error(logPre + err.stack);
577+
clean();
578+
this.emit('fail');
579+
return;
580+
}
581+
this.remoteIp = address;
582+
};
583+
584+
const clean = function() {
585+
socket.removeListener('error', onError);
586+
socket.removeListener('connect', onConnect);
587+
socket.removeListener('lookup', onLookup);
588+
};
589+
562590
if (!net.isIP(opt.host)) {
563-
socket.once('lookup', (err, address, family, host) => {
564-
if (err) {
565-
logger.error(logPre + err.stack);
566-
this.emit('fail');
567-
return;
568-
}
569-
this.remoteIp = address;
570-
});
591+
socket.once('lookup', onLookup);
571592
}
593+
594+
socket.once('connect', onConnect);
595+
socket.once('error', onError);
572596
});
573597

574598
defer.always(function() {

0 commit comments

Comments
 (0)