whistle 2.9.91 → 2.9.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/https/h2.js CHANGED
@@ -327,7 +327,6 @@ function requestH2(client, req, res, callback) {
327
327
  }
328
328
 
329
329
  function bindListner(server, listener) {
330
- server.timeout = config.timeout;
331
330
  if (typeof listener === 'function') {
332
331
  server.on('request', listener);
333
332
  } else if (listener) {
@@ -348,6 +347,7 @@ exports.getServer = function (options, listener) {
348
347
  } else {
349
348
  server = https.createServer(options);
350
349
  }
350
+ server.requestTimeout = 0;
351
351
  return bindListner(server, listener);
352
352
  };
353
353
 
@@ -358,6 +358,7 @@ exports.getHttpServer = function (_, listener) {
358
358
  settings: H2_SVR_SETTINGS,
359
359
  allowHTTP1: true
360
360
  });
361
+ server.requestTimeout = 0;
361
362
  return bindListner(server, listener);
362
363
  };
363
364
 
@@ -1257,7 +1257,7 @@ module.exports = function (socket, next, isWebPort) {
1257
1257
  };
1258
1258
  var useNoSNIServer = function () {
1259
1259
  serverKey = requestCert ? ':' + domain : domain;
1260
- serverAgent.createServer(serverKey, handlers, handleConnect);
1260
+ serverAgent.createServer(serverKey, handlers, handleConnect, 0, 0);
1261
1261
  };
1262
1262
 
1263
1263
  var handleRequest = function () {
package/lib/index.js CHANGED
@@ -44,6 +44,7 @@ function proxy(callback, _server) {
44
44
  .concat(config.middlewares)
45
45
  .concat(require('./handlers'));
46
46
  server.timeout = config.timeout;
47
+ server.requestTimeout = 0;
47
48
  proxyEvents.config = config;
48
49
  proxyEvents.server = server;
49
50
  app.disable('x-powered-by');
@@ -103,6 +104,8 @@ function proxy(callback, _server) {
103
104
  var optionServer = httpModule.createServer(opts);
104
105
  var isHttps = !!opts;
105
106
  proxyEvents[isHttps ? 'httpsServer' : 'httpServer'] = optionServer;
107
+ optionServer.timeout = config.timeout;
108
+ optionServer.requestTimeout = 0;
106
109
  optionServer.on('request', function (req, res) {
107
110
  req.isHttps = isHttps;
108
111
  app.handle(req, res);
package/lib/init.js CHANGED
@@ -207,6 +207,8 @@ module.exports = function (req, res, next) {
207
207
  if (index > 0) {
208
208
  req._h2ReqId = alpn.substring(index + 1);
209
209
  alpn = alpn.substring(0, index);
210
+ // 如果保留 h2 session,则删除默认的 Timeout 逻辑
211
+ req.setTimeout(0);
210
212
  }
211
213
  if (alpn === 'httpH2') {
212
214
  req.isH2 = !req.isHttps;
@@ -2020,7 +2020,6 @@ module.exports = async function (options, callback) {
2020
2020
  await startTunnelResWrite(tunnelResWrite, options);
2021
2021
  tunnelResWritePort = _port;
2022
2022
  }
2023
- server.timeout = config.timeout;
2024
2023
  server.on('request', function (req, res) {
2025
2024
  delete req.headers['x-whistle-internal-id'];
2026
2025
  switch (getHookName(req)) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "whistle",
3
3
  "description": "HTTP, HTTP2, HTTPS, Websocket debugging proxy",
4
- "version": "2.9.91",
4
+ "version": "2.9.92",
5
5
  "dataDirname": ".whistle",
6
6
  "localUIHost": "local.whistlejs.com",
7
7
  "port": 8899,
@@ -40,7 +40,7 @@
40
40
  "express": "^4.21.2",
41
41
  "extend": "^3.0.2",
42
42
  "fs-extra2": "^1.0.0",
43
- "hagent": "^0.9.2",
43
+ "hagent": "^0.9.3",
44
44
  "hparser": "^0.5.0",
45
45
  "iconv-lite": "^0.4.24",
46
46
  "json5": "^2.2.3",