fix: destroy ResourceStream with pre-flight error #236
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
RE: googleapis/nodejs-bigquery#707
(It's easier to view this PR with whitespace changes hidden: https://github.com/googleapis/nodejs-paginator/pull/236/files?diff=unified&w=1)
In many situations across our APIs, we validate the input from a user to a given method. So, if a user is assembling a query to send off to the API, sometimes we'll figure out that it won't work, and we'll throw before we even attempt the request. For example:
Throwing and streams aren't very compatible due to the sync-vs-async nature, so this doesn't work:
This change will wrap the calls to the request stream in a try/catch, and then destroy the stream with any error that was caught.