aws-sdk-core 3.46.2 → 3.47.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 +4 -4
- data/VERSION +1 -1
- data/lib/aws-sdk-core.rb +1 -0
- data/lib/aws-sdk-core/async_client_stubs.rb +80 -0
- data/lib/aws-sdk-core/binary.rb +3 -0
- data/lib/aws-sdk-core/binary/decode_handler.rb +21 -1
- data/lib/aws-sdk-core/binary/encode_handler.rb +32 -0
- data/lib/aws-sdk-core/binary/event_builder.rb +122 -0
- data/lib/aws-sdk-core/binary/event_parser.rb +48 -18
- data/lib/aws-sdk-core/binary/event_stream_decoder.rb +5 -2
- data/lib/aws-sdk-core/binary/event_stream_encoder.rb +53 -0
- data/lib/aws-sdk-core/client_stubs.rb +1 -1
- data/lib/aws-sdk-core/errors.rb +4 -0
- data/lib/aws-sdk-core/event_emitter.rb +42 -0
- data/lib/aws-sdk-core/json/handler.rb +19 -1
- data/lib/aws-sdk-core/param_validator.rb +9 -1
- data/lib/aws-sdk-core/plugins/event_stream_configuration.rb +14 -0
- data/lib/aws-sdk-core/plugins/invocation_id.rb +33 -0
- data/lib/aws-sdk-core/plugins/stub_responses.rb +19 -7
- data/lib/aws-sdk-core/stubbing/protocols/rest.rb +19 -0
- data/lib/aws-sdk-core/stubbing/stub_data.rb +1 -1
- data/lib/aws-sdk-sts.rb +1 -1
- data/lib/aws-sdk-sts/client.rb +1 -1
- data/lib/seahorse.rb +9 -0
- data/lib/seahorse/client/async_base.rb +50 -0
- data/lib/seahorse/client/async_response.rb +73 -0
- data/lib/seahorse/client/base.rb +1 -1
- data/lib/seahorse/client/h2/connection.rb +242 -0
- data/lib/seahorse/client/h2/handler.rb +149 -0
- data/lib/seahorse/client/http/async_response.rb +42 -0
- data/lib/seahorse/client/http/response.rb +10 -5
- data/lib/seahorse/client/networking_error.rb +28 -0
- data/lib/seahorse/client/plugins/h2.rb +64 -0
- data/lib/seahorse/model/api.rb +4 -0
- data/lib/seahorse/model/operation.rb +4 -0
- metadata +35 -4
@@ -11,5 +11,33 @@ module Seahorse
|
|
11
11
|
attr_reader :original_error
|
12
12
|
|
13
13
|
end
|
14
|
+
|
15
|
+
# Raised when sending initial headers and data failed
|
16
|
+
# for event stream requests over Http2
|
17
|
+
class Http2InitialRequestError < StandardError
|
18
|
+
|
19
|
+
def initialize(error)
|
20
|
+
@original_error = error
|
21
|
+
end
|
22
|
+
|
23
|
+
# @return [HTTP2::Error]
|
24
|
+
attr_reader :original_error
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
# Raised when connection failed to initialize a new stream
|
29
|
+
class Http2StreamInitializeError < StandardError
|
30
|
+
|
31
|
+
def initialize(error)
|
32
|
+
@original_error = error
|
33
|
+
end
|
34
|
+
|
35
|
+
# @return [HTTP2::Error]
|
36
|
+
attr_reader :original_error
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
# Rasied when trying to use an closed connection
|
41
|
+
class Http2ConnectionClosedError < StandardError; end
|
14
42
|
end
|
15
43
|
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'seahorse/client/h2/handler'
|
2
|
+
|
3
|
+
module Seahorse
|
4
|
+
module Client
|
5
|
+
module Plugins
|
6
|
+
class H2 < Plugin
|
7
|
+
|
8
|
+
# H2 Client
|
9
|
+
option(:max_concurrent_streams, default: 100, doc_type: Integer, docstring: <<-DOCS)
|
10
|
+
Maximum concurrent streams used in HTTP2 connection, defaults to 100. Note that server may send back
|
11
|
+
:settings_max_concurrent_streams value which will take priority when initializing new streams.
|
12
|
+
DOCS
|
13
|
+
|
14
|
+
option(:connection_timeout, default: 60, doc_type: Integer, docstring: <<-DOCS)
|
15
|
+
Connection timeout in seconds, defaults to 60 sec.
|
16
|
+
DOCS
|
17
|
+
|
18
|
+
option(:connection_read_timeout, default: 60, doc_type: Integer, docstring: <<-DOCS)
|
19
|
+
Connection read timeout in seconds, defaults to 60 sec.
|
20
|
+
DOCS
|
21
|
+
|
22
|
+
option(:read_chunk_size, default: 1024, doc_type: Integer, docstring: '')
|
23
|
+
|
24
|
+
option(:raise_response_errors, default: true, doc_type: 'Boolean', docstring: <<-DOCS)
|
25
|
+
Defaults to `true`, raises errors if exist when #wait or #join! is called upon async response.
|
26
|
+
DOCS
|
27
|
+
|
28
|
+
# SSL Context
|
29
|
+
option(:ssl_ca_bundle, default: nil, doc_type: String, docstring: <<-DOCS)
|
30
|
+
Full path to the SSL certificate authority bundle file that should be used when
|
31
|
+
verifying peer certificates. If you do not pass `:ssl_ca_directory` or `:ssl_ca_bundle`
|
32
|
+
the system default will be used if available.
|
33
|
+
DOCS
|
34
|
+
|
35
|
+
option(:ssl_ca_directory, default: nil, doc_type: String, docstring: <<-DOCS)
|
36
|
+
Full path of the directory that contains the unbundled SSL certificate authority
|
37
|
+
files for verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
|
38
|
+
`:ssl_ca_directory` the system default will be used if available.
|
39
|
+
DOCS
|
40
|
+
|
41
|
+
option(:ssl_ca_store, default: nil, doc_type: String, docstring: '')
|
42
|
+
|
43
|
+
option(:ssl_verify_peer, default: true, doc_type: 'Boolean', docstring: <<-DOCS)
|
44
|
+
When `true`, SSL peer certificates are verified when establishing a connection.
|
45
|
+
DOCS
|
46
|
+
|
47
|
+
option(:http_wire_trace, default: false, doc_type: 'Boolean', docstring: <<-DOCS)
|
48
|
+
When `true`, HTTP2 debug output will be sent to the `:logger`.
|
49
|
+
DOCS
|
50
|
+
|
51
|
+
option(:enable_alpn, default: false, doc_type: 'Boolean', docstring: <<-DOCS)
|
52
|
+
Setting to `true` to enable ALPN in HTTP2 over TLS, requires Ruby version >= 2.3 and
|
53
|
+
Openssl version >= 1.0.2. Defaults to false. Note: not all service HTTP2 operations
|
54
|
+
supports ALPN on server side, please refer to service documentation.
|
55
|
+
DOCS
|
56
|
+
|
57
|
+
option(:logger)
|
58
|
+
|
59
|
+
handler(Client::H2::Handler, step: :send)
|
60
|
+
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
data/lib/seahorse/model/api.rb
CHANGED
@@ -8,6 +8,7 @@ module Seahorse
|
|
8
8
|
@deprecated = false
|
9
9
|
@errors = []
|
10
10
|
@metadata = {}
|
11
|
+
@async = false
|
11
12
|
end
|
12
13
|
|
13
14
|
# @return [String, nil]
|
@@ -50,6 +51,9 @@ module Seahorse
|
|
50
51
|
# @return [Boolean]
|
51
52
|
attr_accessor :require_apikey
|
52
53
|
|
54
|
+
# @return [Boolean]
|
55
|
+
attr_accessor :async
|
56
|
+
|
53
57
|
def [](key)
|
54
58
|
@metadata[key.to_s]
|
55
59
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.47.0
|
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: 2019-
|
11
|
+
date: 2019-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jmespath
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '1.
|
47
|
+
version: '1.1'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '1.
|
54
|
+
version: '1.1'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: aws-eventstream
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -59,6 +59,9 @@ dependencies:
|
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '1.0'
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: 1.0.2
|
62
65
|
type: :runtime
|
63
66
|
prerelease: false
|
64
67
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -66,6 +69,23 @@ dependencies:
|
|
66
69
|
- - "~>"
|
67
70
|
- !ruby/object:Gem::Version
|
68
71
|
version: '1.0'
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 1.0.2
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: http-2
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0.10'
|
82
|
+
type: :runtime
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0.10'
|
69
89
|
description: Provides API clients for AWS. This gem is part of the official AWS SDK
|
70
90
|
for Ruby.
|
71
91
|
email:
|
@@ -77,10 +97,14 @@ files:
|
|
77
97
|
- ca-bundle.crt
|
78
98
|
- lib/aws-sdk-core.rb
|
79
99
|
- lib/aws-sdk-core/assume_role_credentials.rb
|
100
|
+
- lib/aws-sdk-core/async_client_stubs.rb
|
80
101
|
- lib/aws-sdk-core/binary.rb
|
81
102
|
- lib/aws-sdk-core/binary/decode_handler.rb
|
103
|
+
- lib/aws-sdk-core/binary/encode_handler.rb
|
104
|
+
- lib/aws-sdk-core/binary/event_builder.rb
|
82
105
|
- lib/aws-sdk-core/binary/event_parser.rb
|
83
106
|
- lib/aws-sdk-core/binary/event_stream_decoder.rb
|
107
|
+
- lib/aws-sdk-core/binary/event_stream_encoder.rb
|
84
108
|
- lib/aws-sdk-core/client_side_monitoring/publisher.rb
|
85
109
|
- lib/aws-sdk-core/client_side_monitoring/request_metrics.rb
|
86
110
|
- lib/aws-sdk-core/client_stubs.rb
|
@@ -123,6 +147,7 @@ files:
|
|
123
147
|
- lib/aws-sdk-core/plugins/global_configuration.rb
|
124
148
|
- lib/aws-sdk-core/plugins/helpful_socket_errors.rb
|
125
149
|
- lib/aws-sdk-core/plugins/idempotency_token.rb
|
150
|
+
- lib/aws-sdk-core/plugins/invocation_id.rb
|
126
151
|
- lib/aws-sdk-core/plugins/jsonvalue_converter.rb
|
127
152
|
- lib/aws-sdk-core/plugins/logging.rb
|
128
153
|
- lib/aws-sdk-core/plugins/param_converter.rb
|
@@ -203,14 +228,19 @@ files:
|
|
203
228
|
- lib/aws-sdk-sts/resource.rb
|
204
229
|
- lib/aws-sdk-sts/types.rb
|
205
230
|
- lib/seahorse.rb
|
231
|
+
- lib/seahorse/client/async_base.rb
|
232
|
+
- lib/seahorse/client/async_response.rb
|
206
233
|
- lib/seahorse/client/base.rb
|
207
234
|
- lib/seahorse/client/block_io.rb
|
208
235
|
- lib/seahorse/client/configuration.rb
|
209
236
|
- lib/seahorse/client/events.rb
|
237
|
+
- lib/seahorse/client/h2/connection.rb
|
238
|
+
- lib/seahorse/client/h2/handler.rb
|
210
239
|
- lib/seahorse/client/handler.rb
|
211
240
|
- lib/seahorse/client/handler_builder.rb
|
212
241
|
- lib/seahorse/client/handler_list.rb
|
213
242
|
- lib/seahorse/client/handler_list_entry.rb
|
243
|
+
- lib/seahorse/client/http/async_response.rb
|
214
244
|
- lib/seahorse/client/http/headers.rb
|
215
245
|
- lib/seahorse/client/http/request.rb
|
216
246
|
- lib/seahorse/client/http/response.rb
|
@@ -225,6 +255,7 @@ files:
|
|
225
255
|
- lib/seahorse/client/plugin_list.rb
|
226
256
|
- lib/seahorse/client/plugins/content_length.rb
|
227
257
|
- lib/seahorse/client/plugins/endpoint.rb
|
258
|
+
- lib/seahorse/client/plugins/h2.rb
|
228
259
|
- lib/seahorse/client/plugins/logging.rb
|
229
260
|
- lib/seahorse/client/plugins/net_http.rb
|
230
261
|
- lib/seahorse/client/plugins/operation_methods.rb
|