From 82d818f104103fc15dd76237f957f1cdcf14d291 Mon Sep 17 00:00:00 2001 From: XandeTorres Date: Tue, 7 May 2024 01:00:21 +0300 Subject: [PATCH 1/2] socket timeout add --- index.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/index.js b/index.js index b509e16..13e15b7 100644 --- a/index.js +++ b/index.js @@ -32,6 +32,7 @@ class myAgent extends https.Agent { options.keepAlive = true } super(options) + if (options.timeout) this._timeout = options.timeout } createConnectionHttpsAfterHttp (options, cb) { @@ -48,6 +49,14 @@ class myAgent extends https.Agent { proxySocket.once('error', errorListener) proxySocket.once('end',endListener) + if (this._timeout) { + proxySocket.setTimeout(this._timeout); + + proxySocket.on('timeout', () => { + proxySocket.end(); + }); + } + let response = '' const dataListener = (data) => { response += data.toString() From 87238de53e322c83e0d225d8413513891c864de9 Mon Sep 17 00:00:00 2001 From: XandeTorres Date: Thu, 23 May 2024 01:02:23 +0300 Subject: [PATCH 2/2] timeout fix --- index.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 13e15b7..1be7c06 100644 --- a/index.js +++ b/index.js @@ -1,3 +1,4 @@ +// оригинальный форк const https = require('https') const net = require('net') const url = require('url') @@ -53,7 +54,10 @@ class myAgent extends https.Agent { proxySocket.setTimeout(this._timeout); proxySocket.on('timeout', () => { - proxySocket.end(); + //proxySocket.end(); + const err/* : NodeJS.ErrnoException */ = new Error(`A "socket" was not created for HTTP request before ${this._timeout}ms`); + err.code = 'ETIMEOUT'; + proxySocket.destroy(err) }); }