Feature/cli timeouts
Description
This PR implements setting & respecting timeouts in collection + request settings (resolves #1249). Prior to this PR, there is support for setting a single timeout value in the GUI, which is respected by the app when running requests. This PR implements:
- Added UI for setting timeouts on the collection & individual requests, when there is collection + request setting, the request setting for timeout takes precedence
- Existing timeout option in the Bruno app settings is used when collection & request doesn't have a timeout specified (it's a fallback)
- CLI has a --timeout option which will take precedence over collection + request timeout options (when set)
- CLI + GUI take into account timeout options when setting up requests, exceeding the timeout results in an axios timeout exception being raised in GUI / cli output
One pretty opinionated change that I made here was that I created a new "Meta" tab in the settings, and moved the Docs setting for collections + requests under it, and then added the new timeout option input underneath of Docs. I'm open to changing how this works or changing the name of it, but I think it may become useful to have a "miscellaneous settings" box for other settings that may be added to Bruno in the future anyways. It didn't seem like a good idea to add a tab just for timeouts, but if there's other ideas / name changes happy to make them.
https://github.com/usebruno/bruno/assets/32653/36a2d3a1-2125-4436-9adb-187e04ba59e6
Contribution Checklist:
- [x] The pull request only addresses one issue or adds one feature.
- [x] The pull request does not introduce any breaking changes
- [x] I have added screenshots or gifs to help explain the change if applicable.
- [x] I have read the contribution guidelines.
- [x] Create an issue and link to the pull request.
Note: Keeping the PR small and focused helps make it easier to review and merge. If you have multiple changes you want to make, please consider submitting them as separate pull requests.
Publishing to New Package Managers
Please see here for more information.