Extending the timeout
See original GitHub issueSo far as I understand it, the timeout value is set when you add the connect-timeout
middleware when initializing the express server, so the same timeout applies to every request the comes in thereafter (that matches the route concerned).
What I’m finding is that for some incoming GET requests, there is a particular combination of options in the request that causes a network fetch to a remote resource than is not very reliable. For those requests, I’d like to relax the timeout value for connect-timeout
somewhat, to allow for a few fetch retries.
But I can’t see any way to change the timeout value ‘on the fly’, for a particular request. The only control I can see over the timeout is to use req.clearTimeout()
whilst processing a request. This is helpful, but timeout is completely removed and will not fire for this request in the future
. This is not entirely what I’m looking to achieve… I would like to retain a timeout, but just a slightly longer one.
Is what I’m asking for really naughty, breaking established rules of good practice of which I’m not aware? Or is it a reasonable thing to want to do?
Issue Analytics
- State:
- Created 7 years ago
- Comments:7 (3 by maintainers)
Top GitHub Comments
haha, I thought of that solution as well, and oops, forgot to mention it above. Yea, that is a good solution; I’ll definitely work to implement, but not 100% sure if it’ll be today, so please feel free to work on that implementation 😃 AFAIK,
req.setTimeout
method already exists, so will probably need to refactor some stuff not to shadow that method.See
express-timeout-handler
alternative implementation with the ability to override the timeout. 👍🏻