aws-sdk-s3 1.152.0 → 1.152.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ed2c5ef64ee5ff0ee37c8ca5aeaaab2aa366e9027be076baa28e657a0e0ecdd9
4
- data.tar.gz: 7f6021d6e4e483a064420f0d9f6bc339d44b0f2f08538cbbe1157d3d496602ad
3
+ metadata.gz: eca480261feb18667caab9e9a2d9a42ec638a31e8138a2b964ada46f30b5edf5
4
+ data.tar.gz: 480618739c88c10b9d14aa4e3ae9b4e4e726dd5956f2348ab48041f843967fc1
5
5
  SHA512:
6
- metadata.gz: 19617e4eec83fb52951e57763925a98dfe4a669e15762a728fe7906688f9cb73a4fc9961bcf322054e5f07d2b7b8db58aad92be2d2430ba7def5389ecf4704e0
7
- data.tar.gz: 82203b300e8d37186a0818abbd5caed3df653625e1e3823a45f89ead1b27776b56e0c2251708efc5f6e13fb38e24e6056aed8043410ba421a90bb4a9671fd4dd
6
+ metadata.gz: 24b80eaf7d528e22d201188b8868f6fb748cb5d0f3edd3e2fb134e80238b457db4b4b7cc58ea8f566534155a13ffd68c5e014fa6dfc9cddb4b7b00f2f37f32f6
7
+ data.tar.gz: 22da3b464bb18d71afdd9884a01f3c2b9e046004a3cecc9ea5dd9b7056abebb158b37574e5ca3e7882899f7437273909247c2884d451ab98ad59c8c60287962b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.152.1 (2024-06-10)
5
+ ------------------
6
+
7
+ * Issue - Handle 200 errors for all S3 operations that do not have streaming responses.
8
+
4
9
  1.152.0 (2024-06-05)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.152.0
1
+ 1.152.1
@@ -18828,7 +18828,7 @@ module Aws::S3
18828
18828
  params: params,
18829
18829
  config: config)
18830
18830
  context[:gem_name] = 'aws-sdk-s3'
18831
- context[:gem_version] = '1.152.0'
18831
+ context[:gem_version] = '1.152.1'
18832
18832
  Seahorse::Client::Request.new(handlers, context)
18833
18833
  end
18834
18834
 
@@ -15,21 +15,40 @@ module Aws
15
15
 
16
16
  def call(context)
17
17
  @handler.call(context).on(200) do |response|
18
- if error = check_for_error(context)
19
- context.http_response.status_code = 500
20
- response.data = nil
21
- response.error = error
22
- end
18
+ return response if streaming_output?(context.operation.output)
19
+
20
+ error = check_for_error(context)
21
+ return response unless error
22
+
23
+ context.http_response.status_code = 500
24
+ response.data = nil
25
+ response.error = error
26
+ end
27
+ end
28
+
29
+ private
30
+
31
+ def streaming_output?(output)
32
+ if (payload = output[:payload_member]) # checking ref and shape
33
+ payload['streaming'] || payload.shape['streaming'] ||
34
+ payload.eventstream
35
+ else
36
+ false
23
37
  end
24
38
  end
25
39
 
40
+ def members_in_body?(output)
41
+ output.shape.members.any? { |_, k| k.location.nil? }
42
+ end
43
+
26
44
  def check_for_error(context)
27
45
  xml = context.http_response.body_contents
28
- if xml.match(/<Error>/)
46
+ if xml.match(/\?>\s*<Error>/)
29
47
  error_code = xml.match(/<Code>(.+?)<\/Code>/)[1]
30
48
  error_message = xml.match(/<Message>(.+?)<\/Message>/)[1]
31
49
  S3::Errors.error_class(error_code).new(context, error_message)
32
- elsif !xml.match(/<\w/) # Must have the start of an XML Tag
50
+ elsif members_in_body?(context.operation.output) && !xml.match(/<\w/)
51
+ # Must have a body member and have the start of an XML Tag
33
52
  # Other incomplete xml bodies will result in XML ParsingError
34
53
  Seahorse::Client::NetworkingError.new(
35
54
  S3::Errors
@@ -40,15 +59,7 @@ module Aws
40
59
  end
41
60
  end
42
61
 
43
- handler(
44
- Handler,
45
- step: :sign,
46
- operations: [
47
- :complete_multipart_upload,
48
- :copy_object,
49
- :upload_part_copy,
50
- ]
51
- )
62
+ handler(Handler, step: :sign)
52
63
  end
53
64
  end
54
65
  end
data/lib/aws-sdk-s3.rb CHANGED
@@ -73,6 +73,6 @@ require_relative 'aws-sdk-s3/event_streams'
73
73
  # @!group service
74
74
  module Aws::S3
75
75
 
76
- GEM_VERSION = '1.152.0'
76
+ GEM_VERSION = '1.152.1'
77
77
 
78
78
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.152.0
4
+ version: 1.152.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-05 00:00:00.000000000 Z
11
+ date: 2024-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-kms