aws-sdk-core 3.261.0 → 3.263.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: 20963c4ba4573dca660c592bc7996d2fd17aa339c20aa91421a4aed2de76f591
4
- data.tar.gz: 812e6f68eeb111cf9ce4bb7952038fac6a06fc9aad14d787657bc8eafca3b4aa
3
+ metadata.gz: 2e12759793414117f403e7057cb739735502fdb49b051ff038d55c745852b593
4
+ data.tar.gz: d39be33db7594287f3eba7dab5dee03a0cbd0742189a7808d70b496703754c0c
5
5
  SHA512:
6
- metadata.gz: ca2d95bc30f9cbb1a2a8fab0423b1a59a765995d2203925a755d822920e371c29cb2951f8b97a515388671f54bf7f00f96c76477f9e0d5034165323158eed23f
7
- data.tar.gz: 35a7731340719f2a9fa90275e7ee00b3081f161e3d98c423ad2545ad9b2d9c9c395b1b757e1bf0e35832ffd18499a8f41a7762eced0f21d2175090e33f48b975
6
+ metadata.gz: 50573d7d9dd51663613b353a63fd648f8e481d43ea6c04d8831fa79830e8372aca0f26f69dd62f129a5e7acb6e64aae747a62a844c3be85b649754cd70e9c053
7
+ data.tar.gz: 4ff98b02a41384117b0c6beb0d231e6b5151a3c54c01dda97482e79d26d4ab1ce4322519b4b64e4ee9522ebf9ce424a661ae7d944da1f9da67fd24e1540047ec
data/CHANGELOG.md CHANGED
@@ -1,6 +1,20 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 3.263.0 (2026-10-29)
5
+ ------------------
6
+
7
+ * Feature - Reduce object allocation overhead for SDK responses. SDK clients now return `Aws::Response`, a subclass of `Seahorse::Client::Response`.
8
+
9
+ * Issue - Verify the server certificate hostname for `AsyncClient` HTTP/2 connections when `ssl_verify_peer` is enabled. Connections now fail if the server certificate does not match the endpoint hostname.
10
+
11
+ 3.262.0 (2026-10-28)
12
+ ------------------
13
+
14
+ * Feature - Improve User-Agent framework detection with literal matching of configured framework names.
15
+
16
+ * Issue - Fix service error parsing and response header-map extraction by matching prefixes literally. Custom models that relied on regex matching must use literal prefixes.
17
+
4
18
  3.261.0 (2026-10-26)
5
19
  ------------------
6
20
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.261.0
1
+ 3.263.0
@@ -58,7 +58,7 @@ module Aws
58
58
 
59
59
  def remove_prefix(error_code, context)
60
60
  if (prefix = context.config.api.metadata['errorPrefix'])
61
- error_code.sub(/^#{prefix}/, '')
61
+ error_code.delete_prefix(prefix)
62
62
  else
63
63
  error_code
64
64
  end
@@ -46,10 +46,16 @@ module Aws
46
46
  # puts response.contents.map(&:key)
47
47
  # end
48
48
  #
49
+ # Every client response supports these methods. A response from an
50
+ # operation that does not paginate has a single page, so `last_page?`
51
+ # returns `true` and `each` yields only that response.
52
+ #
49
53
  module PageableResponse
50
54
 
55
+ # Adds paging methods when needed and resets cached paging state.
56
+ # An {Aws::Response} already has the methods through its class.
51
57
  def self.apply(base)
52
- base.extend Extension
58
+ base.extend Extension unless Extension === base
53
59
  base.instance_variable_set(:@last_page, nil)
54
60
  base.instance_variable_set(:@more_results, nil)
55
61
  base
@@ -217,5 +223,6 @@ module Aws
217
223
  end
218
224
 
219
225
  end
226
+
220
227
  end
221
228
  end
@@ -83,7 +83,7 @@ requests are made, and retries are disabled.
83
83
  private
84
84
 
85
85
  def stub_responses(context)
86
- resp = Seahorse::Client::Response.new(context: context)
86
+ resp = Aws::Response.new(context: context)
87
87
  async_mode = context.client.is_a? Seahorse::Client::AsyncBase
88
88
  stub = context.client.next_stub(context)
89
89
  stub[:mutex].synchronize { apply_stub(stub, resp, async_mode) }
@@ -203,7 +203,8 @@ variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
203
203
  end
204
204
 
205
205
  # Frameworks may be aws-record, aws-sdk-rails, etc.
206
- regex = /gems\/(?<name>#{frameworks_cfg.join('|')})-(?<version>\d+\.\d+\.\d+)/.freeze
206
+ names = frameworks_cfg.map { |f| Regexp.escape(f.to_s) }.join('|')
207
+ regex = /gems\/(?<name>#{names})-(?<version>\d+\.\d+\.\d+)/.freeze
207
208
  frameworks = {}
208
209
  Kernel.caller.each do |line|
209
210
  match = line.match(regex)
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Aws
4
+ # Represents the response from an AWS service operation.
5
+ # Provides the Seahorse response interface and paging convenience methods.
6
+ #
7
+ # SDK clients return responses with paging ready to use. When constructing
8
+ # a response directly or inspecting it before paging setup in a custom handler,
9
+ # use {#data} to access or enumerate its fields. {#first} returns the response
10
+ # itself; page-state checks and complete page enumeration require a pager.
11
+ #
12
+ # @see PageableResponse
13
+ class Response < Seahorse::Client::Response
14
+ include PageableResponse::Extension
15
+
16
+ def initialize(options = {})
17
+ super
18
+ @pager = nil
19
+ @last_page = nil
20
+ @more_results = nil
21
+ end
22
+ end
23
+ end
@@ -67,9 +67,10 @@ module Aws
67
67
  data[name] = {}
68
68
  prefix = ref.location_name || ''
69
69
  headers.each do |header_name, header_value|
70
- if match = header_name.match(/^#{prefix}(.+)/i)
71
- data[name][match[1]] = header_value
72
- end
70
+ next unless header_name.length > prefix.length &&
71
+ header_name[0, prefix.length].casecmp?(prefix)
72
+
73
+ data[name][header_name[prefix.length..-1]] = header_value
73
74
  end
74
75
  end
75
76
 
@@ -69,7 +69,7 @@ module Aws
69
69
 
70
70
  def remove_prefix(error_code, context)
71
71
  if (prefix = context.config.api.metadata['errorPrefix'])
72
- error_code.sub(/^#{prefix}/, '')
72
+ error_code.delete_prefix(prefix)
73
73
  else
74
74
  error_code
75
75
  end
@@ -73,7 +73,7 @@ module Aws
73
73
 
74
74
  def remove_prefix(error_code, context)
75
75
  if (prefix = context.config.api.metadata['errorPrefix'])
76
- error_code.sub(/^#{prefix}/, '')
76
+ error_code.delete_prefix(prefix)
77
77
  else
78
78
  error_code
79
79
  end
data/lib/aws-sdk-core.rb CHANGED
@@ -45,6 +45,7 @@ module Aws
45
45
  autoload :Pager, 'aws-sdk-core/pager'
46
46
  autoload :ParamConverter, 'aws-sdk-core/param_converter'
47
47
  autoload :ParamValidator, 'aws-sdk-core/param_validator'
48
+ autoload :Response, 'aws-sdk-core/response'
48
49
  autoload :SharedConfig, 'aws-sdk-core/shared_config'
49
50
  autoload :Structure, 'aws-sdk-core/structure'
50
51
  autoload :EmptyStructure, 'aws-sdk-core/structure'
@@ -991,7 +991,7 @@ module Aws::Signin
991
991
  tracer: tracer
992
992
  )
993
993
  context[:gem_name] = 'aws-sdk-core'
994
- context[:gem_version] = '3.261.0'
994
+ context[:gem_version] = '3.263.0'
995
995
  Seahorse::Client::Request.new(handlers, context)
996
996
  end
997
997
 
@@ -56,7 +56,7 @@ module Aws::Signin
56
56
  autoload :EndpointProvider, 'aws-sdk-signin/endpoint_provider'
57
57
  autoload :Endpoints, 'aws-sdk-signin/endpoints'
58
58
 
59
- GEM_VERSION = '3.261.0'
59
+ GEM_VERSION = '3.263.0'
60
60
 
61
61
  end
62
62
 
@@ -703,7 +703,7 @@ module Aws::SSO
703
703
  tracer: tracer
704
704
  )
705
705
  context[:gem_name] = 'aws-sdk-core'
706
- context[:gem_version] = '3.261.0'
706
+ context[:gem_version] = '3.263.0'
707
707
  Seahorse::Client::Request.new(handlers, context)
708
708
  end
709
709
 
data/lib/aws-sdk-sso.rb CHANGED
@@ -56,7 +56,7 @@ module Aws::SSO
56
56
  autoload :EndpointProvider, 'aws-sdk-sso/endpoint_provider'
57
57
  autoload :Endpoints, 'aws-sdk-sso/endpoints'
58
58
 
59
- GEM_VERSION = '3.261.0'
59
+ GEM_VERSION = '3.263.0'
60
60
 
61
61
  end
62
62
 
@@ -1086,7 +1086,7 @@ module Aws::SSOOIDC
1086
1086
  tracer: tracer
1087
1087
  )
1088
1088
  context[:gem_name] = 'aws-sdk-core'
1089
- context[:gem_version] = '3.261.0'
1089
+ context[:gem_version] = '3.263.0'
1090
1090
  Seahorse::Client::Request.new(handlers, context)
1091
1091
  end
1092
1092
 
@@ -56,7 +56,7 @@ module Aws::SSOOIDC
56
56
  autoload :EndpointProvider, 'aws-sdk-ssooidc/endpoint_provider'
57
57
  autoload :Endpoints, 'aws-sdk-ssooidc/endpoints'
58
58
 
59
- GEM_VERSION = '3.261.0'
59
+ GEM_VERSION = '3.263.0'
60
60
 
61
61
  end
62
62
 
@@ -2807,7 +2807,7 @@ module Aws::STS
2807
2807
  tracer: tracer
2808
2808
  )
2809
2809
  context[:gem_name] = 'aws-sdk-core'
2810
- context[:gem_version] = '3.261.0'
2810
+ context[:gem_version] = '3.263.0'
2811
2811
  Seahorse::Client::Request.new(handlers, context)
2812
2812
  end
2813
2813
 
data/lib/aws-sdk-sts.rb CHANGED
@@ -56,7 +56,7 @@ module Aws::STS
56
56
  autoload :EndpointProvider, 'aws-sdk-sts/endpoint_provider'
57
57
  autoload :Endpoints, 'aws-sdk-sts/endpoints'
58
58
 
59
- GEM_VERSION = '3.261.0'
59
+ GEM_VERSION = '3.263.0'
60
60
 
61
61
  end
62
62
 
@@ -79,7 +79,14 @@ module Seahorse
79
79
  @socket.hostname = endpoint.host
80
80
 
81
81
  debug_output("starting TLS for #{endpoint.host}:#{endpoint.port} ...")
82
- @socket.connect
82
+ begin
83
+ @socket.connect
84
+ @socket.post_connection_check(endpoint.host) if @ssl_verify_peer
85
+ rescue StandardError
86
+ @socket.close rescue nil
87
+ @socket = nil
88
+ raise
89
+ end
83
90
  debug_output('TLS established')
84
91
  else
85
92
  @socket = tcp
@@ -215,6 +222,7 @@ module Seahorse
215
222
  ssl_ctx = OpenSSL::SSL::SSLContext.new(:TLSv1_2)
216
223
  if @ssl_verify_peer
217
224
  ssl_ctx.verify_mode = OpenSSL::SSL::VERIFY_PEER
225
+ ssl_ctx.verify_hostname = true
218
226
  ssl_ctx.ca_file = @ssl_ca_bundle || _default_ca_bundle
219
227
  ssl_ctx.ca_path = @ssl_ca_directory || _default_ca_directory
220
228
  ssl_ctx.cert_store = @ssl_ca_store if @ssl_ca_store
@@ -49,7 +49,7 @@ module Seahorse
49
49
  context.http_response
50
50
  )
51
51
  end
52
- Response.new(context: context)
52
+ Aws::Response.new(context: context)
53
53
  end
54
54
 
55
55
  # @param [Configuration] config
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.261.0
4
+ version: 3.263.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
@@ -281,6 +281,7 @@ files:
281
281
  - lib/aws-sdk-core/refreshing_token.rb
282
282
  - lib/aws-sdk-core/resources.rb
283
283
  - lib/aws-sdk-core/resources/collection.rb
284
+ - lib/aws-sdk-core/response.rb
284
285
  - lib/aws-sdk-core/rest.rb
285
286
  - lib/aws-sdk-core/rest/content_type_handler.rb
286
287
  - lib/aws-sdk-core/rest/handler.rb