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.
@@ -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: 0.20.0
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: 2023-09-05 00:00:00.000000000 Z
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.0'
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.0'
65
+ version: '1.6'
107
66
  - !ruby/object:Gem::Dependency
108
- name: google-protobuf
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: '3.14'
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: '3.14'
79
+ version: '1.15'
121
80
  - !ruby/object:Gem::Dependency
122
- name: grpc
81
+ name: googleauth
123
82
  requirement: !ruby/object:Gem::Requirement
124
83
  requirements:
125
84
  - - "~>"
126
85
  - !ruby/object:Gem::Version
127
- version: '1.36'
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.36'
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-style
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: 1.26.0
170
- type: :development
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: '1.1'
107
+ version: '2.2'
219
108
  - !ruby/object:Gem::Dependency
220
- name: minitest-rg
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: '5.2'
226
- type: :development
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: '5.2'
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: rake
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: '3.0'
268
- type: :development
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: '3.0'
135
+ version: '4.26'
275
136
  - !ruby/object:Gem::Dependency
276
- name: yard
137
+ name: grpc
277
138
  requirement: !ruby/object:Gem::Requirement
278
139
  requirements:
279
140
  - - "~>"
280
141
  - !ruby/object:Gem::Version
281
- version: '0.9'
282
- type: :development
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: '0.9'
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
- homepage: https://github.com/googleapis/gapic-generator-ruby
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: '2.6'
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.4.19
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: []