aws-sdk-s3 1.200.0 → 1.201.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 50d0c1be8e15a46bcc05e13aeba9bf9ee61addc0decd0c0480a7809a34f7726c
4
- data.tar.gz: 5b0634d0d3efee830b742591722f62e34acf6f3c0ccbb50ffbbd8b51faacaa92
3
+ metadata.gz: '0519844d789be0bc4a7bd9e06bbcc52054b52aa8f4d9783539fffcffe5049d89'
4
+ data.tar.gz: d68f781f2b8fdaf6c4c94f7717b54c922d8acf4f89e23ed6afdcd1dec8eb718f
5
5
  SHA512:
6
- metadata.gz: 6f4e85a59226b4b0cebe9ebdecccfcb7a147339992ed740105faf9f7f4423a02fa0d4cd18515341e9ec24a7626bbcde4f2daafa9796dcb6e3e1171bd15cafe7a
7
- data.tar.gz: 6d76cb2b2cb4b4d0622ea54b8d7300a3eb3246209c9ee9e770888c71bef67fe55ae468c238f390916c3dcaf2b6a02ee10b786774bb6e7aab7cdeccb2e670e87e
6
+ metadata.gz: 1d418ce036b2580b26472dbe0033f985efcc9a3dbdea6ed1b71ed9191746fec8196df0b4a9f9548ab0a3de474d7224dcd82117952a8c45dd484cb5de225cf069
7
+ data.tar.gz: 32c116b67b50e13e3eb3a84bd5f67a3cf2ee6ee71b8a896e5b2986fc060ca64711663f1b383cd8fe5112e5c9cd91ce4e276314b8ef9104c6e3499762a640b11e
data/CHANGELOG.md CHANGED
@@ -1,6 +1,13 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.201.0 (2025-10-21)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ * Issue - Fix multipart upload to respect `request_checksum_calculation` `when_required` mode.
10
+
4
11
  1.200.0 (2025-10-15)
5
12
  ------------------
6
13
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.200.0
1
+ 1.201.0
@@ -21735,7 +21735,7 @@ module Aws::S3
21735
21735
  tracer: tracer
21736
21736
  )
21737
21737
  context[:gem_name] = 'aws-sdk-s3'
21738
- context[:gem_version] = '1.200.0'
21738
+ context[:gem_version] = '1.201.0'
21739
21739
  Seahorse::Client::Request.new(handlers, context)
21740
21740
  end
21741
21741
 
@@ -51,11 +51,10 @@ module Aws
51
51
 
52
52
  def complete_upload(upload_id, parts, file_size, options)
53
53
  @client.complete_multipart_upload(
54
- **complete_opts(options).merge(
55
- upload_id: upload_id,
56
- multipart_upload: { parts: parts },
57
- mpu_object_size: file_size
58
- )
54
+ **complete_opts(options),
55
+ upload_id: upload_id,
56
+ multipart_upload: { parts: parts },
57
+ mpu_object_size: file_size
59
58
  )
60
59
  rescue StandardError => e
61
60
  abort_upload(upload_id, options, [e])
@@ -79,8 +78,8 @@ module Aws
79
78
  rescue MultipartUploadError => e
80
79
  raise e
81
80
  rescue StandardError => e
82
- msg = "failed to abort multipart upload: #{e.message}. "\
83
- "Multipart upload failed: #{errors.map(&:message).join('; ')}"
81
+ msg = "failed to abort multipart upload: #{e.message}. " \
82
+ "Multipart upload failed: #{errors.map(&:message).join('; ')}"
84
83
  raise MultipartUploadError.new(msg, errors + [e])
85
84
  end
86
85
 
@@ -113,8 +112,15 @@ module Aws
113
112
  keys.any? { |key| checksum_key?(key) }
114
113
  end
115
114
 
115
+ def checksum_not_required?(options)
116
+ @client.config.request_checksum_calculation == 'when_required' && !options[:checksum_algorithm]
117
+ end
118
+
116
119
  def create_opts(options)
117
- opts = { checksum_algorithm: Aws::Plugins::ChecksumAlgorithm::DEFAULT_CHECKSUM }
120
+ opts = {}
121
+ unless checksum_not_required?(options)
122
+ opts[:checksum_algorithm] = Aws::Plugins::ChecksumAlgorithm::DEFAULT_CHECKSUM
123
+ end
118
124
  opts[:checksum_type] = 'FULL_OBJECT' if has_checksum_key?(options.keys)
119
125
  CREATE_OPTIONS.each_with_object(opts) { |k, h| h[k] = options[k] if options.key?(k) }
120
126
  end
@@ -148,9 +154,7 @@ module Aws
148
154
  resp = @client.upload_part(p)
149
155
  p[:body].close
150
156
  completed_part = { etag: resp.etag, part_number: p[:part_number] }
151
- algorithm = resp.context.params[:checksum_algorithm].downcase
152
- k = "checksum_#{algorithm}".to_sym
153
- completed_part[k] = resp.send(k)
157
+ apply_part_checksum(resp, completed_part)
154
158
  completed.push(completed_part)
155
159
  rescue StandardError => e
156
160
  abort_upload = true
@@ -164,6 +168,13 @@ module Aws
164
168
  errors
165
169
  end
166
170
 
171
+ def apply_part_checksum(resp, part)
172
+ return unless (checksum = resp.context.params[:checksum_algorithm])
173
+
174
+ k = :"checksum_#{checksum.downcase}"
175
+ part[k] = resp.send(k)
176
+ end
177
+
167
178
  def compute_default_part_size(file_size)
168
179
  [(file_size.to_f / MAX_PARTS).ceil, MIN_PART_SIZE].max.to_i
169
180
  end
data/lib/aws-sdk-s3.rb CHANGED
@@ -75,7 +75,7 @@ module Aws::S3
75
75
  autoload :ObjectVersion, 'aws-sdk-s3/object_version'
76
76
  autoload :EventStreams, 'aws-sdk-s3/event_streams'
77
77
 
78
- GEM_VERSION = '1.200.0'
78
+ GEM_VERSION = '1.201.0'
79
79
 
80
80
  end
81
81
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.200.0
4
+ version: 1.201.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
@@ -46,7 +46,7 @@ dependencies:
46
46
  version: '3'
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 3.231.0
49
+ version: 3.234.0
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
@@ -56,7 +56,7 @@ dependencies:
56
56
  version: '3'
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: 3.231.0
59
+ version: 3.234.0
60
60
  description: Official AWS Ruby gem for Amazon Simple Storage Service (Amazon S3).
61
61
  This gem is part of the AWS SDK for Ruby.
62
62
  email: