-
-
Notifications
You must be signed in to change notification settings - Fork 323
Refactor client-side checksum validation #17670
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
d80db64 to
6fb1992
Compare
…attributes from server." This reverts commit 07f53e5.
6fb1992 to
07dd3dc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Refactors client-side checksum handling across upload features and updates tests to align with constructor signature changes. Also introduces checksum computation for Google Drive writes and adjusts service method names from upload to transfer in certain implementations.
- Refactor HttpUploadFeature generics to remove MessageDigest and simplify constructors across multiple protocols (WebDAV, FTP, SFTP, Swift, S3, Drive, Local, Storegate, Manta, iRODS, OneDrive, Google Storage).
- Replace some upload(...) calls with transfer(...) in multipart/threshold services; add checksum computation for DriveWriteFeature.
- Add or modify numerous i18n Error.strings files.
Reviewed changes
Copilot reviewed 89 out of 128 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| webdav/src/test/java/ch/cyberduck/core/worker/DAVSingleTransferWorkerTest.java | Update tests to use new parameterless DAVUploadFeature constructor. |
| webdav/src/test/java/ch/cyberduck/core/worker/DAVConcurrentTransferWorkerTest.java | Same constructor update for upload feature in tests. |
| webdav/src/test/java/ch/cyberduck/core/dav/microsoft/MicrosoftIISDAVUploadFeatureTest.java | Use no-arg DAVUploadFeature; test adjustments. |
| webdav/src/test/java/ch/cyberduck/core/dav/microsoft/MicrosoftIISDAVReadFeatureTest.java | Use no-arg DAVUploadFeature in read test setup. |
| webdav/src/test/java/ch/cyberduck/core/dav/microsoft/MicrosoftIISDAVLockFeatureTest.java | Replace session-based constructors and append call accordingly. |
| webdav/src/test/java/ch/cyberduck/core/dav/DAVWriteFeatureTest.java | Adjust tests to new DAVUploadFeature constructor and append. |
| webdav/src/test/java/ch/cyberduck/core/dav/DAVUploadFeatureTest.java | Update tests for new DAVUploadFeature construction and append behavior. |
| webdav/src/test/java/ch/cyberduck/core/dav/DAVReadFeatureTest.java | Adjust upload setup in read tests. |
| webdav/src/test/java/ch/cyberduck/core/dav/DAVLockFeatureTest.java | Update constructor usage for upload feature. |
| webdav/src/test/java/ch/cyberduck/core/cryptomator/DAVWriteFeatureTest.java | Use new DAVUploadFeature in cryptomator tests. |
| webdav/src/test/java/ch/cyberduck/core/cryptomator/DAVReadFeatureTest.java | Same as above. |
| webdav/src/main/java/ch/cyberduck/core/dav/DAVUploadFeature.java | Change HttpUploadFeature generic to remove MessageDigest; drop session constructor. |
| webdav/src/main/java/ch/cyberduck/core/dav/DAVSession.java | Return new no-arg DAVUploadFeature for Upload feature. |
| tus/src/main/java/ch/cyberduck/core/tus/TusUploadFeature.java | Remove MessageDigest generic; change to transfer(...) for internal call. |
| storegate/src/test/java/ch/cyberduck/core/storegate/StoregateReadFeatureTest.java | Update DefaultUploadFeature to no-arg constructor. |
| ssh/src/test/java/ch/cyberduck/core/shared/DefaultUploadFeatureTest.java | Use no-arg DefaultUploadFeature in SFTP tests. |
| ssh/src/main/java/ch/cyberduck/core/sftp/SFTPUploadFeature.java | Call super() instead of passing session due to base change. |
| spectra/src/main/java/ch/cyberduck/core/spectra/SpectraUploadFeature.java | Remove MessageDigest generic from HttpUploadFeature. |
| s3/src/test/java/ch/cyberduck/core/worker/S3SingleTransferWorkerTest.java | Update decorate signature to accept TransferStatus. |
| s3/src/test/java/ch/cyberduck/core/s3/S3SingleUploadServiceTest.java | Remove obsolete decorate test. |
| s3/src/test/java/ch/cyberduck/core/s3/S3MultipartUploadServiceTest.java | Update upload calls to include line breaks and transfer method override. |
| s3/src/main/java/ch/cyberduck/core/s3/S3SingleUploadService.java | Remove digest handling overrides; after upload, set status checksum NONE when SSE is enabled. |
| s3/src/main/java/ch/cyberduck/core/s3/S3MultipartWriteFeature.java | Update checksum mismatch message wording. |
| s3/src/main/java/ch/cyberduck/core/s3/S3MultipartUploadService.java | Remove MessageDigest generic; switch internal upload call to transfer; adjust error messages. |
| openstack/src/test/java/ch/cyberduck/core/worker/SwiftSingleTransferWorkerTest.java | Update decorate signature to TransferStatus. |
| openstack/src/test/java/ch/cyberduck/core/openstack/SwiftSmallObjectUploadFeatureTest.java | Remove test file (decorator/post digest tests no longer applicable). |
| openstack/src/test/java/ch/cyberduck/core/openstack/SwiftLargeObjectUploadFeatureTest.java | Update to transfer method; minor formatting fix. |
| openstack/src/test/java/ch/cyberduck/core/cryptomator/SwiftLargeObjectUploadFeatureTest.java | Minor formatting update in upload call. |
| openstack/src/main/java/ch/cyberduck/core/openstack/SwiftThresholdUploadService.java | Instantiate SwiftSmallObjectUploadFeature with no args. |
| openstack/src/main/java/ch/cyberduck/core/openstack/SwiftSmallObjectUploadFeature.java | Remove digest-related logic; convert to no-arg HttpUploadFeature. |
| openstack/src/main/java/ch/cyberduck/core/openstack/SwiftLargeObjectUploadFeature.java | Remove MessageDigest generic; change internal call to transfer. |
| onedrive/src/test/java/ch/cyberduck/core/onedrive/GraphReadFeatureTest.java | Use no-arg DefaultUploadFeature constructor. |
| nio/src/test/java/ch/cyberduck/core/nio/LocalUploadFeatureTest.java | Use no-arg LocalUploadFeature. |
| nio/src/main/java/ch/cyberduck/core/nio/LocalUploadFeature.java | Remove session constructor; keep append behavior. |
| nio/src/main/java/ch/cyberduck/core/nio/LocalSession.java | Return new LocalUploadFeature in feature lookup. |
| manta/src/test/java/ch/cyberduck/core/manta/MantaReadFeatureTest.java | Use no-arg DefaultUploadFeature in test setup. |
| irods/src/test/java/ch/cyberduck/core/irods/IRODSReadFeatureTest.java | Use no-arg DefaultUploadFeature for setup. |
| irods/src/main/java/ch/cyberduck/core/irods/IRODSUploadFeature.java | Update mismatch error message wording. |
| i18n/src/main/resources/*/Error.strings | Add/update many localization files; currently contain garbled text and encoding issues. |
| googlestorage/src/test/java/ch/cyberduck/core/googlestorage/DefaultUploadFeatureTest.java | Use no-arg DefaultUploadFeature. |
| googledrive/src/test/java/ch/cyberduck/core/googledrive/DriveUploadFeatureTest.java | Use no-arg DriveUploadFeature; minor formatting change. |
| googledrive/src/test/java/ch/cyberduck/core/googledrive/DriveReadFeatureTest.java | Use no-arg DriveUploadFeature in setup. |
| googledrive/src/main/java/ch/cyberduck/core/googledrive/DriveWriteFeature.java | Add checksum(...) override to compute MD5 for Drive uploads. |
| googledrive/src/main/java/ch/cyberduck/core/googledrive/DriveUploadFeature.java | Remove MessageDigest generic and session constructor. |
| googledrive/src/main/java/ch/cyberduck/core/googledrive/DriveSession.java | Return new DriveUploadFeature in feature map. |
| ftp/src/test/java/ch/cyberduck/core/shared/DefaultUploadFeatureTest.java | Switch to no-arg DefaultUploadFeature in FTP tests. |
| ftp/src/test/java/ch/cyberduck/core/ftp/FTPUploadFeatureTest.java | Use no-arg FTPUploadFeature for append test. |
| ftp/src/main/java/ch/cyberduck/core/ftp/FTPSession.java | Return new FTPUploadFeature without session parameter. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Fix #17352.