Closed gnaaruag closed 4 months ago
[!WARNING]
Rate limit exceeded
@gnaaruag has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 26 minutes and 22 seconds before requesting another review.
How to resolve this issue?
After the wait time has elapsed, a review can be triggered using the `@coderabbitai review` command as a PR comment. Alternatively, push new commits to this PR. We recommend that you space out your commits to avoid hitting the rate limit.How do rate limits work?
CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our [FAQ](https://coderabbit.ai/docs/faq) for further information.Commits
Files that changed from the base of the PR and between 66c734b5a960afbd5d80e14942093d026a762c92 and 5ef09b16314e7259e55bd9ccf914d64886d625e8.
The recent update improves the robustness of the file upload functionality, adding checks for empty file uploads to enhance resource efficiency and data integrity. It includes revisions across multiple files to support these features and expands test coverage to ensure correct behavior.
File Path | Change Summary |
---|---|
CONTRIBUTING.md |
Added an extra blank line at the beginning. |
.../controllers/file-upload.controller.ts |
Added a file size check before the file upload operation to return an error response if the file size is 0. |
.../interceptors/file-upload.interceptor.ts |
Added request.raw = request.raw || request before invoking this.multer.single(fieldName) . |
.../interfaces/file-upload.interface.ts |
Added size: number; and buffer: Buffer; properties to the MultipartFile interface. |
.../test/app.e2e-spec.ts |
Added imports for fs and path , modified response expectations for the root endpoint, and added tests for file uploads with content and empty files. |
sample/06-file-upload/test/app.e2e-spec.ts |
Added imports for fs and path , and test cases to handle file upload with content and empty files, ensuring appropriate response is returned for empty file upload. |
sequenceDiagram
participant User
participant Controller
participant FilesService
User->>Controller: Upload file
Controller->>FilesService: Save file
FilesService->>Controller: File saved
Controller->>User: Success response
sequenceDiagram
participant User
participant Controller
participant FilesService
User->>Controller: Upload file
Controller->>Controller: Check file size
alt file size > 0
Controller->>FilesService: Save file
FilesService->>Controller: File saved
Controller->>User: Success response
else file size = 0
Controller->>User: Error response
end
Objective (Issue #) | Addressed | Explanation |
---|---|---|
Ensure empty file uploads are checked (### #156) | ✅ |
In the world of bytes and megabytes, We now reject the empty sights. Files hefty or light, Must now have proper byte, To keep our uploads tight and right. 🎉🐇📂
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Checklist
Make sure you have
@nestjs/swagger
decorators wherever requiredDescription
file-upload.controller.ts
inpackages/common/src
process.env.STORAGE_MODE
size
andbuffer
to theMultipartInterface
. (this allows us to have access to size of file and its Buffer contents; needed for empty file check)file-upload.interceptor
the linerequest.raw = request.raw || request;
allows for valid request body to pass throughSteps to test
to test manually create a post request to
/file/upload-file
test with empty file and non empty file via
multipart/form-data
to run automated test navigate to
samples/06-file-upload
and runnpm run test:e2e
fixes #156
Summary by CodeRabbit
New Features
Tests
Documentation
CONTRIBUTING.md
file.