Implement Enhanced Error Handling for Disallowed MIME Types #58
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.
Overview
This Pull Request introduces several changes aimed at improving the clarity and accuracy of error messages related to MIME type restrictions. It addresses the issue described in #57. Where the error message and codes are misleading, suggesting security risks where there were none. The changes ensure that users can receive precise and non-misleading feedback when uploading files with disallowed MIME types.
Changes Made
Gitignore Updates: Added
/build
,/.vscode
folders, and.pickle
files to.gitignore
to prevent unnecessary files from being tracked by Git. This keeps our repository clean and focused on relevant changes.New Error Type: Introduced a new error class
FileMimeTypeForbiddenError
to specifically handle cases where the MIME type of the uploaded file is not allowed. This helps in clearly distinguishing between security-related file rejections and policy-based restrictions.Error Handling in Scanner: Implemented the
FileMimeTypeForbiddenError
in the file scanning process. Now, if a file is uploaded with a MIME type that is not permitted, this specific error is raised, providing clear and accurate feedback to the user.Test Modifications: Updated the tests related to MIME type errors to reflect the new error handling logic. This ensures our test suite remains robust and aligned with the current functionality.
Documentation Update: Added the new error code
MCS_MEDIA_FORBIDDEN
orMCS_MIMETYPE_FORBIDDEN
to the API documentation. This update helps developers and users understand the potential errors they might encounter and the reasons behind them.Wordings and namings are suggestions and up for discussion and potential revision. ;)