1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Do not timeout watch requests

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
This commit is contained in:
Lauri Nevala 2020-04-18 23:07:55 +03:00
parent 799482b3c4
commit ff042d8c1f
3 changed files with 30 additions and 4 deletions

View File

@ -0,0 +1,22 @@
diff --git a/node_modules/http-proxy/lib/http-proxy/passes/web-incoming.js b/node_modules/http-proxy/lib/http-proxy/passes/web-incoming.js
index 995a0db..a5c37f5 100644
--- a/node_modules/http-proxy/lib/http-proxy/passes/web-incoming.js
+++ b/node_modules/http-proxy/lib/http-proxy/passes/web-incoming.js
@@ -50,7 +50,7 @@ module.exports = {
*/
timeout: function timeout(req, res, options) {
- if(options.timeout) {
+ if(options.timeout || options.timeout === 0) {
req.socket.setTimeout(options.timeout);
}
},
@@ -134,7 +134,7 @@ module.exports = {
// allow outgoing socket to timeout so that we could
// show an error page at the initial request
- if(options.proxyTimeout) {
+ if(options.proxyTimeout || options.proxyTimeout === 0) {
proxyReq.setTimeout(options.proxyTimeout, function() {
proxyReq.abort();
});

View File

@ -102,12 +102,15 @@ export class ContextHandler {
}
}
public async getApiTarget() {
if (this.apiTarget) { return this.apiTarget }
public async getApiTarget(timeout: number) {
if (this.apiTarget) {
this.apiTarget.timeout = timeout
return this.apiTarget
}
this.apiTarget = {
changeOrigin: true,
timeout: 30000,
timeout: timeout,
headers: {
"Host": this.clusterUrl.hostname
},

View File

@ -130,7 +130,8 @@ export class LensProxy {
if (req.url.startsWith("/api-kube/")) {
delete req.headers.authorization
req.url = req.url.replace("/api-kube", "")
return await contextHandler.getApiTarget()
const timeout = req.url.includes("watch=") ? 0 : 30000
return await contextHandler.getApiTarget(timeout)
}
}