MCPcopy Index your code
hub / github.com/nodejs/node / onSocketNT

Function onSocketNT

lib/_http_client.js:994–1032  ·  view source on GitHub ↗
(req, socket, err)

Source from the content-addressed store, hash-verified

992};
993
994function onSocketNT(req, socket, err) {
995 if (req.destroyed || err) {
996 req.destroyed = true;
997
998 function _destroy(req, err) {
999 if (!req.aborted && !err) {
1000 err = new ConnResetException('socket hang up');
1001 }
1002 // ERR_PROXY_TUNNEL is handled by the proxying logic.
1003 // Skip if the error was already emitted by the early socketErrorListener.
1004 if (err && err.code !== 'ERR_PROXY_TUNNEL' &&
1005 !socket?._hadError) {
1006 emitErrorEvent(req, err);
1007 }
1008 req._closed = true;
1009 req.emit('close');
1010 }
1011
1012 if (socket) {
1013 if (!err && req.agent && !socket.destroyed) {
1014 socket.emit('free');
1015 socket.removeListener('error', socketErrorListener);
1016 } else {
1017 finished(socket.destroy(err || req[kError]), (er) => {
1018 if (er?.code === 'ERR_STREAM_PREMATURE_CLOSE') {
1019 er = null;
1020 }
1021 _destroy(req, er || err);
1022 });
1023 return;
1024 }
1025 }
1026
1027 _destroy(req, err || req[kError]);
1028 } else {
1029 tickOnSocket(req, socket);
1030 req._flush();
1031 }
1032}
1033
1034ClientRequest.prototype._deferToConnect = _deferToConnect;
1035function _deferToConnect(method, arguments_) {

Callers

nothing calls this directly

Calls 7

tickOnSocketFunction · 0.85
_flushMethod · 0.80
_destroyFunction · 0.70
finishedFunction · 0.50
emitMethod · 0.45
removeListenerMethod · 0.45
destroyMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…