box-node-sdk
box-node-sdk copied to clipboard
Provide a way to set timeout on requests made by `box-node-sdk`
Is your feature request related to a problem? Please describe.
Currently the sdk sets no default timeout and provides no official configuration option to limit the request timeout. From @cypress/request documentation regarding timeouts:
Most requests to external servers should have a timeout attached, in case the server is not responding in a timely manner. Without a timeout, your code may have a socket open/consume resources for minutes or more.
During a recent Box outage our application requests were blocked by calls made by the sdk, which by default, retries 5 times before failing. We will reduce number of retries (which is configurable) but would also like a way to limit the request timeout.
Describe the solution you'd like
It would be great if we could set timeout per request (specifically for us - getAppUserTokens), but being able to set it globally in configure is also helpful.
Currently only uploadRequestTimeoutMS is officially supported -
https://rawgit.com/box/box-node-sdk/main/docs/jsdoc/global.html#UserConfigurationOptions
Describe alternatives you've considered
This is our current workaround -
this.boxSdk.configure({
numMaxRetries: 2,
request: { timeout: 2000 },
});
Thanks!