gapic-common 0.20.0 → 1.2.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/CHANGELOG.md +77 -0
- data/README.md +5 -5
- data/lib/gapic/call_options/error_codes.rb +2 -60
- data/lib/gapic/call_options/retry_policy.rb +10 -109
- data/lib/gapic/call_options.rb +1 -1
- data/lib/gapic/common/error_codes.rb +74 -0
- data/lib/gapic/common/polling_harness.rb +82 -0
- data/lib/gapic/common/retry_policy.rb +255 -0
- data/lib/gapic/common/version.rb +1 -1
- data/lib/gapic/common.rb +1 -0
- data/lib/gapic/config.rb +2 -2
- data/lib/gapic/grpc/service_stub/channel.rb +4 -4
- data/lib/gapic/grpc/service_stub/channel_pool.rb +9 -2
- data/lib/gapic/grpc/service_stub/rpc_call.rb +120 -12
- data/lib/gapic/grpc/service_stub.rb +39 -12
- data/lib/gapic/headers.rb +5 -1
- data/lib/gapic/logging_concerns.rb +214 -0
- data/lib/gapic/operation/retry_policy.rb +25 -65
- data/lib/gapic/paged_enumerable.rb +1 -1
- data/lib/gapic/rest/client_stub.rb +115 -25
- data/lib/gapic/rest/http_binding_override_configuration.rb +48 -0
- data/lib/gapic/rest.rb +1 -0
- data/lib/gapic/universe_domain_concerns.rb +84 -0
- metadata +35 -171
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Copyright 2023 Google LLC
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
require "gapic/common/error"
|
|
16
|
+
|
|
17
|
+
module Gapic
|
|
18
|
+
##
|
|
19
|
+
# A mixin module that provides methods for obtaining the effective universe
|
|
20
|
+
# domain, endpoint, and credentials for a stub. This is included in
|
|
21
|
+
# Grpc::ServiceStub and Rest::ClientStub.
|
|
22
|
+
#
|
|
23
|
+
module UniverseDomainConcerns
|
|
24
|
+
##
|
|
25
|
+
# A substitution string for the universe domain in an endpoint template
|
|
26
|
+
# @return [String]
|
|
27
|
+
#
|
|
28
|
+
ENDPOINT_SUBSTITUTION = "$UNIVERSE_DOMAIN$".freeze
|
|
29
|
+
|
|
30
|
+
##
|
|
31
|
+
# The effective endpoint
|
|
32
|
+
# @return [String]
|
|
33
|
+
#
|
|
34
|
+
attr_reader :endpoint
|
|
35
|
+
|
|
36
|
+
##
|
|
37
|
+
# The effective universe domain
|
|
38
|
+
# @return [String]
|
|
39
|
+
#
|
|
40
|
+
attr_reader :universe_domain
|
|
41
|
+
|
|
42
|
+
##
|
|
43
|
+
# The effective credentials
|
|
44
|
+
#
|
|
45
|
+
# @return [Google::Auth::Credentials, Signet::OAuth2::Client, Proc,
|
|
46
|
+
# ::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials]
|
|
47
|
+
#
|
|
48
|
+
attr_reader :credentials
|
|
49
|
+
|
|
50
|
+
protected
|
|
51
|
+
|
|
52
|
+
##
|
|
53
|
+
# @private
|
|
54
|
+
# Called from the stub constructor to populate the data.
|
|
55
|
+
#
|
|
56
|
+
def setup_universe_domain universe_domain: nil,
|
|
57
|
+
endpoint: nil,
|
|
58
|
+
endpoint_template: nil,
|
|
59
|
+
credentials: nil
|
|
60
|
+
raise ArgumentError, "endpoint or endpoint_template is required" if endpoint.nil? && endpoint_template.nil?
|
|
61
|
+
raise ArgumentError, "credentials is required" if credentials.nil?
|
|
62
|
+
|
|
63
|
+
universe_domain ||= ENV["GOOGLE_CLOUD_UNIVERSE_DOMAIN"] || "googleapis.com"
|
|
64
|
+
endpoint ||= endpoint_template.sub ENDPOINT_SUBSTITUTION, universe_domain
|
|
65
|
+
|
|
66
|
+
if !(credentials.respond_to?(:disable_universe_domain_check) && credentials.disable_universe_domain_check) &&
|
|
67
|
+
credentials.respond_to?(:universe_domain) && credentials.universe_domain != universe_domain
|
|
68
|
+
raise UniverseDomainMismatch,
|
|
69
|
+
"Universe domain is #{universe_domain} but credentials are in #{credentials.universe_domain}"
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
@universe_domain = universe_domain
|
|
73
|
+
@endpoint = endpoint
|
|
74
|
+
@credentials = credentials
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
##
|
|
79
|
+
# Raised when the configured universe domain does not match the universe
|
|
80
|
+
# domain of the credentials.
|
|
81
|
+
#
|
|
82
|
+
class UniverseDomainMismatch < ::Gapic::Common::Error
|
|
83
|
+
end
|
|
84
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gapic-common
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Google API Authors
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: faraday
|
|
@@ -52,241 +51,102 @@ dependencies:
|
|
|
52
51
|
version: 3.a
|
|
53
52
|
- !ruby/object:Gem::Dependency
|
|
54
53
|
name: googleapis-common-protos
|
|
55
|
-
requirement: !ruby/object:Gem::Requirement
|
|
56
|
-
requirements:
|
|
57
|
-
- - ">="
|
|
58
|
-
- !ruby/object:Gem::Version
|
|
59
|
-
version: 1.3.12
|
|
60
|
-
- - "<"
|
|
61
|
-
- !ruby/object:Gem::Version
|
|
62
|
-
version: 2.a
|
|
63
|
-
type: :runtime
|
|
64
|
-
prerelease: false
|
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
66
|
-
requirements:
|
|
67
|
-
- - ">="
|
|
68
|
-
- !ruby/object:Gem::Version
|
|
69
|
-
version: 1.3.12
|
|
70
|
-
- - "<"
|
|
71
|
-
- !ruby/object:Gem::Version
|
|
72
|
-
version: 2.a
|
|
73
|
-
- !ruby/object:Gem::Dependency
|
|
74
|
-
name: googleapis-common-protos-types
|
|
75
|
-
requirement: !ruby/object:Gem::Requirement
|
|
76
|
-
requirements:
|
|
77
|
-
- - ">="
|
|
78
|
-
- !ruby/object:Gem::Version
|
|
79
|
-
version: 1.3.1
|
|
80
|
-
- - "<"
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: 2.a
|
|
83
|
-
type: :runtime
|
|
84
|
-
prerelease: false
|
|
85
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
86
|
-
requirements:
|
|
87
|
-
- - ">="
|
|
88
|
-
- !ruby/object:Gem::Version
|
|
89
|
-
version: 1.3.1
|
|
90
|
-
- - "<"
|
|
91
|
-
- !ruby/object:Gem::Version
|
|
92
|
-
version: 2.a
|
|
93
|
-
- !ruby/object:Gem::Dependency
|
|
94
|
-
name: googleauth
|
|
95
54
|
requirement: !ruby/object:Gem::Requirement
|
|
96
55
|
requirements:
|
|
97
56
|
- - "~>"
|
|
98
57
|
- !ruby/object:Gem::Version
|
|
99
|
-
version: '1.
|
|
58
|
+
version: '1.6'
|
|
100
59
|
type: :runtime
|
|
101
60
|
prerelease: false
|
|
102
61
|
version_requirements: !ruby/object:Gem::Requirement
|
|
103
62
|
requirements:
|
|
104
63
|
- - "~>"
|
|
105
64
|
- !ruby/object:Gem::Version
|
|
106
|
-
version: '1.
|
|
65
|
+
version: '1.6'
|
|
107
66
|
- !ruby/object:Gem::Dependency
|
|
108
|
-
name:
|
|
67
|
+
name: googleapis-common-protos-types
|
|
109
68
|
requirement: !ruby/object:Gem::Requirement
|
|
110
69
|
requirements:
|
|
111
70
|
- - "~>"
|
|
112
71
|
- !ruby/object:Gem::Version
|
|
113
|
-
version: '
|
|
72
|
+
version: '1.15'
|
|
114
73
|
type: :runtime
|
|
115
74
|
prerelease: false
|
|
116
75
|
version_requirements: !ruby/object:Gem::Requirement
|
|
117
76
|
requirements:
|
|
118
77
|
- - "~>"
|
|
119
78
|
- !ruby/object:Gem::Version
|
|
120
|
-
version: '
|
|
79
|
+
version: '1.15'
|
|
121
80
|
- !ruby/object:Gem::Dependency
|
|
122
|
-
name:
|
|
81
|
+
name: googleauth
|
|
123
82
|
requirement: !ruby/object:Gem::Requirement
|
|
124
83
|
requirements:
|
|
125
84
|
- - "~>"
|
|
126
85
|
- !ruby/object:Gem::Version
|
|
127
|
-
version: '1.
|
|
86
|
+
version: '1.12'
|
|
128
87
|
type: :runtime
|
|
129
88
|
prerelease: false
|
|
130
89
|
version_requirements: !ruby/object:Gem::Requirement
|
|
131
90
|
requirements:
|
|
132
91
|
- - "~>"
|
|
133
92
|
- !ruby/object:Gem::Version
|
|
134
|
-
version: '1.
|
|
135
|
-
- !ruby/object:Gem::Dependency
|
|
136
|
-
name: concurrent-ruby
|
|
137
|
-
requirement: !ruby/object:Gem::Requirement
|
|
138
|
-
requirements:
|
|
139
|
-
- - "~>"
|
|
140
|
-
- !ruby/object:Gem::Version
|
|
141
|
-
version: 1.2.2
|
|
142
|
-
type: :development
|
|
143
|
-
prerelease: false
|
|
144
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
145
|
-
requirements:
|
|
146
|
-
- - "~>"
|
|
147
|
-
- !ruby/object:Gem::Version
|
|
148
|
-
version: 1.2.2
|
|
149
|
-
- !ruby/object:Gem::Dependency
|
|
150
|
-
name: google-cloud-core
|
|
151
|
-
requirement: !ruby/object:Gem::Requirement
|
|
152
|
-
requirements:
|
|
153
|
-
- - "~>"
|
|
154
|
-
- !ruby/object:Gem::Version
|
|
155
|
-
version: '1.5'
|
|
156
|
-
type: :development
|
|
157
|
-
prerelease: false
|
|
158
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
159
|
-
requirements:
|
|
160
|
-
- - "~>"
|
|
161
|
-
- !ruby/object:Gem::Version
|
|
162
|
-
version: '1.5'
|
|
93
|
+
version: '1.12'
|
|
163
94
|
- !ruby/object:Gem::Dependency
|
|
164
|
-
name: google-
|
|
95
|
+
name: google-cloud-env
|
|
165
96
|
requirement: !ruby/object:Gem::Requirement
|
|
166
97
|
requirements:
|
|
167
98
|
- - "~>"
|
|
168
99
|
- !ruby/object:Gem::Version
|
|
169
|
-
version:
|
|
170
|
-
type: :
|
|
171
|
-
prerelease: false
|
|
172
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
173
|
-
requirements:
|
|
174
|
-
- - "~>"
|
|
175
|
-
- !ruby/object:Gem::Version
|
|
176
|
-
version: 1.26.0
|
|
177
|
-
- !ruby/object:Gem::Dependency
|
|
178
|
-
name: minitest
|
|
179
|
-
requirement: !ruby/object:Gem::Requirement
|
|
180
|
-
requirements:
|
|
181
|
-
- - "~>"
|
|
182
|
-
- !ruby/object:Gem::Version
|
|
183
|
-
version: '5.16'
|
|
184
|
-
type: :development
|
|
185
|
-
prerelease: false
|
|
186
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
187
|
-
requirements:
|
|
188
|
-
- - "~>"
|
|
189
|
-
- !ruby/object:Gem::Version
|
|
190
|
-
version: '5.16'
|
|
191
|
-
- !ruby/object:Gem::Dependency
|
|
192
|
-
name: minitest-autotest
|
|
193
|
-
requirement: !ruby/object:Gem::Requirement
|
|
194
|
-
requirements:
|
|
195
|
-
- - "~>"
|
|
196
|
-
- !ruby/object:Gem::Version
|
|
197
|
-
version: '1.0'
|
|
198
|
-
type: :development
|
|
199
|
-
prerelease: false
|
|
200
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
201
|
-
requirements:
|
|
202
|
-
- - "~>"
|
|
203
|
-
- !ruby/object:Gem::Version
|
|
204
|
-
version: '1.0'
|
|
205
|
-
- !ruby/object:Gem::Dependency
|
|
206
|
-
name: minitest-focus
|
|
207
|
-
requirement: !ruby/object:Gem::Requirement
|
|
208
|
-
requirements:
|
|
209
|
-
- - "~>"
|
|
210
|
-
- !ruby/object:Gem::Version
|
|
211
|
-
version: '1.1'
|
|
212
|
-
type: :development
|
|
100
|
+
version: '2.2'
|
|
101
|
+
type: :runtime
|
|
213
102
|
prerelease: false
|
|
214
103
|
version_requirements: !ruby/object:Gem::Requirement
|
|
215
104
|
requirements:
|
|
216
105
|
- - "~>"
|
|
217
106
|
- !ruby/object:Gem::Version
|
|
218
|
-
version: '
|
|
107
|
+
version: '2.2'
|
|
219
108
|
- !ruby/object:Gem::Dependency
|
|
220
|
-
name:
|
|
109
|
+
name: google-logging-utils
|
|
221
110
|
requirement: !ruby/object:Gem::Requirement
|
|
222
111
|
requirements:
|
|
223
112
|
- - "~>"
|
|
224
113
|
- !ruby/object:Gem::Version
|
|
225
|
-
version: '
|
|
226
|
-
type: :
|
|
114
|
+
version: '0.1'
|
|
115
|
+
type: :runtime
|
|
227
116
|
prerelease: false
|
|
228
117
|
version_requirements: !ruby/object:Gem::Requirement
|
|
229
118
|
requirements:
|
|
230
119
|
- - "~>"
|
|
231
120
|
- !ruby/object:Gem::Version
|
|
232
|
-
version: '
|
|
233
|
-
- !ruby/object:Gem::Dependency
|
|
234
|
-
name: pry
|
|
235
|
-
requirement: !ruby/object:Gem::Requirement
|
|
236
|
-
requirements:
|
|
237
|
-
- - ">="
|
|
238
|
-
- !ruby/object:Gem::Version
|
|
239
|
-
version: '0.14'
|
|
240
|
-
type: :development
|
|
241
|
-
prerelease: false
|
|
242
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
243
|
-
requirements:
|
|
244
|
-
- - ">="
|
|
245
|
-
- !ruby/object:Gem::Version
|
|
246
|
-
version: '0.14'
|
|
121
|
+
version: '0.1'
|
|
247
122
|
- !ruby/object:Gem::Dependency
|
|
248
|
-
name:
|
|
249
|
-
requirement: !ruby/object:Gem::Requirement
|
|
250
|
-
requirements:
|
|
251
|
-
- - ">="
|
|
252
|
-
- !ruby/object:Gem::Version
|
|
253
|
-
version: '12.0'
|
|
254
|
-
type: :development
|
|
255
|
-
prerelease: false
|
|
256
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
257
|
-
requirements:
|
|
258
|
-
- - ">="
|
|
259
|
-
- !ruby/object:Gem::Version
|
|
260
|
-
version: '12.0'
|
|
261
|
-
- !ruby/object:Gem::Dependency
|
|
262
|
-
name: redcarpet
|
|
123
|
+
name: google-protobuf
|
|
263
124
|
requirement: !ruby/object:Gem::Requirement
|
|
264
125
|
requirements:
|
|
265
126
|
- - "~>"
|
|
266
127
|
- !ruby/object:Gem::Version
|
|
267
|
-
version: '
|
|
268
|
-
type: :
|
|
128
|
+
version: '4.26'
|
|
129
|
+
type: :runtime
|
|
269
130
|
prerelease: false
|
|
270
131
|
version_requirements: !ruby/object:Gem::Requirement
|
|
271
132
|
requirements:
|
|
272
133
|
- - "~>"
|
|
273
134
|
- !ruby/object:Gem::Version
|
|
274
|
-
version: '
|
|
135
|
+
version: '4.26'
|
|
275
136
|
- !ruby/object:Gem::Dependency
|
|
276
|
-
name:
|
|
137
|
+
name: grpc
|
|
277
138
|
requirement: !ruby/object:Gem::Requirement
|
|
278
139
|
requirements:
|
|
279
140
|
- - "~>"
|
|
280
141
|
- !ruby/object:Gem::Version
|
|
281
|
-
version: '
|
|
282
|
-
type: :
|
|
142
|
+
version: '1.66'
|
|
143
|
+
type: :runtime
|
|
283
144
|
prerelease: false
|
|
284
145
|
version_requirements: !ruby/object:Gem::Requirement
|
|
285
146
|
requirements:
|
|
286
147
|
- - "~>"
|
|
287
148
|
- !ruby/object:Gem::Version
|
|
288
|
-
version: '
|
|
289
|
-
description:
|
|
149
|
+
version: '1.66'
|
|
290
150
|
email:
|
|
291
151
|
- googleapis-packages@google.com
|
|
292
152
|
executables: []
|
|
@@ -306,6 +166,9 @@ files:
|
|
|
306
166
|
- lib/gapic/call_options/retry_policy.rb
|
|
307
167
|
- lib/gapic/common.rb
|
|
308
168
|
- lib/gapic/common/error.rb
|
|
169
|
+
- lib/gapic/common/error_codes.rb
|
|
170
|
+
- lib/gapic/common/polling_harness.rb
|
|
171
|
+
- lib/gapic/common/retry_policy.rb
|
|
309
172
|
- lib/gapic/common/version.rb
|
|
310
173
|
- lib/gapic/config.rb
|
|
311
174
|
- lib/gapic/config/method.rb
|
|
@@ -319,6 +182,7 @@ files:
|
|
|
319
182
|
- lib/gapic/grpc/service_stub/rpc_call.rb
|
|
320
183
|
- lib/gapic/grpc/status_details.rb
|
|
321
184
|
- lib/gapic/headers.rb
|
|
185
|
+
- lib/gapic/logging_concerns.rb
|
|
322
186
|
- lib/gapic/lru_hash.rb
|
|
323
187
|
- lib/gapic/operation.rb
|
|
324
188
|
- lib/gapic/operation/retry_policy.rb
|
|
@@ -330,17 +194,18 @@ files:
|
|
|
330
194
|
- lib/gapic/rest/faraday_middleware.rb
|
|
331
195
|
- lib/gapic/rest/grpc_transcoder.rb
|
|
332
196
|
- lib/gapic/rest/grpc_transcoder/http_binding.rb
|
|
197
|
+
- lib/gapic/rest/http_binding_override_configuration.rb
|
|
333
198
|
- lib/gapic/rest/operation.rb
|
|
334
199
|
- lib/gapic/rest/paged_enumerable.rb
|
|
335
200
|
- lib/gapic/rest/server_stream.rb
|
|
336
201
|
- lib/gapic/rest/threaded_enumerator.rb
|
|
337
202
|
- lib/gapic/rest/transport_operation.rb
|
|
338
203
|
- lib/gapic/stream_input.rb
|
|
339
|
-
|
|
204
|
+
- lib/gapic/universe_domain_concerns.rb
|
|
205
|
+
homepage: https://github.com/googleapis/ruby-core-libraries
|
|
340
206
|
licenses:
|
|
341
207
|
- Apache-2.0
|
|
342
208
|
metadata: {}
|
|
343
|
-
post_install_message:
|
|
344
209
|
rdoc_options: []
|
|
345
210
|
require_paths:
|
|
346
211
|
- lib
|
|
@@ -348,15 +213,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
348
213
|
requirements:
|
|
349
214
|
- - ">="
|
|
350
215
|
- !ruby/object:Gem::Version
|
|
351
|
-
version: '
|
|
216
|
+
version: '3.1'
|
|
352
217
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
353
218
|
requirements:
|
|
354
219
|
- - ">="
|
|
355
220
|
- !ruby/object:Gem::Version
|
|
356
221
|
version: '0'
|
|
357
222
|
requirements: []
|
|
358
|
-
rubygems_version: 3.
|
|
359
|
-
signing_key:
|
|
223
|
+
rubygems_version: 3.6.9
|
|
360
224
|
specification_version: 4
|
|
361
225
|
summary: Common code for GAPIC-generated API clients
|
|
362
226
|
test_files: []
|