fix(storage): Improve exception handling when attempting to overwrite a file during download #3056
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.
Issue #, if available: #2938
Description of changes:
There is an edge case where if the app tries to overwrite a file that the app doesn't have permission to (as per the recent scoped storage changes). When we recognize that a file already exists before downloading, we first delete the file before the download. However, if the app doesn't have the permission to delete the file, it silently fails, and then it has a cascading effect of being unable to download the file.
This change throws a custom StorageException that calls out that the app did not have permissions to overwrite the file.
TODO: Update storage documentation to call out this exception handling and that the developer needs to request write permission to that file before calling download.How did you test these changes?
Documentation update required?
General Checklist
fix(storage): message
,feat(auth): message
,chore(all): message
)By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.