-
Couldn't load subscription status.
- Fork 867
Add mapping of CompletemultipartUploadResponse to TransferUtilityUploadResponse #4060
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
Add mapping of CompletemultipartUploadResponse to TransferUtilityUploadResponse #4060
Conversation
dfea2d8 to
ff96820
Compare
b3572ed to
fa2c582
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
This PR adds mapping functionality to convert CompleteMultipartUploadResponse objects to TransferUtilityUploadResponse objects in the AWS S3 SDK. This enhances the transfer utility by providing a consistent response interface for multipart upload completions.
- Added
MapCompleteMultipartUploadResponsemethod inResponseMapperclass - Implemented comprehensive unit tests to validate the mapping functionality
- Added dev config for patch version increment with appropriate changelog
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
sdk/src/Services/S3/Custom/Transfer/Internal/ResponseMapper.cs |
Added new mapping method to convert CompleteMultipartUploadResponse to TransferUtilityUploadResponse |
sdk/test/Services/S3/UnitTests/Custom/ResponseMapperTests.cs |
Added comprehensive unit tests for the new mapping functionality including null handling scenarios |
generator/.DevConfigs/433a9a6d-b8ea-4676-b763-70711e8288e6.json |
Added dev config for patch version increment |
ff96820 to
838f273
Compare
838f273 to
48947aa
Compare
48947aa to
01bb712
Compare
01bb712 to
8ed36be
Compare
8ed36be to
7541f14
Compare
7541f14 to
e39e711
Compare
e39e711 to
c227963
Compare
c227963 to
ff1c70a
Compare
| var response = new TransferUtilityUploadResponse(); | ||
|
|
||
| // Map all fields as defined in mapping.json "Conversion" -> "CompleteMultipartResponse" -> "UploadResponse" | ||
| if (source.IsSetBucketKeyEnabled()) |
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.
so anytime a new property is added to CompleteMultipartUploadResponse we have to remember to update this mapping?
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.
you don't really have to validate mapping.json against s3 model per se. If s3 adds a new field, the new TM request/response objects will simply not have those new fields, which means customers will not be able to use them unless we manually update mappings.json and ask SDKs to update their TM implementation to add those new fields
this is the expectation from zoe right now. that its just a one time check we are currently doing. if we get asked to update the mapping.json file then we would need to make updates
| "AbortMultipartUploadRequest": { | ||
| "Bucket": "BucketName" | ||
| }, | ||
| "CompleteMultipartUploadResponse": { |
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.
in mapping.json (existing file) we are looking for ServerSideEncryption and SSEKMSKeyId which have slightly different property names in .net compared to other SDKs so we need to add that mapping here
ff1c70a to
6645f1c
Compare
6645f1c to
e6335e3
Compare
…adResponse stack-info: PR: #4060, branch: GarrettBeatty/stacked/2
e6335e3 to
d78eddb
Compare
Stacked PRs:
Description
This change adds a function to map the CompletemultipartUploadResponse to TransferUtilityUploadResponse. This is needed because we eventually need to return
TransferUtilityUploadResponseas part of the progress listener for multi part upload here #4061Motivation and Context
Testing
Types of changes
Checklist
License