google-apis-core 0.11.3 → 0.14.1
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 +27 -0
- data/lib/google/apis/core/base_service.rb +63 -4
- data/lib/google/apis/core/download.rb +1 -0
- data/lib/google/apis/core/storage_download.rb +1 -1
- data/lib/google/apis/core/version.rb +1 -1
- data/lib/google/apis/errors.rb +4 -0
- metadata +9 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c3c57ca24b4836ea6e800df3a184b040c9c51c64149d743d4d3335d6ac76094d
|
4
|
+
data.tar.gz: 42a724598b2ff3656cac8df432bae7428e5a4a53bede1366ee92080d0738d5c7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 28b3c7e49fde2eab1cd10bb5a1e898b5c99f1ee14930b4f8a2b7d66d6ac77731eb6bdfd5e7fa0940f044d58c5ceb8205b460ffc56ea9331f7e166da88504c808
|
7
|
+
data.tar.gz: 95cedbafcc1a7d1dd7a8dc8ce63090bba5a1c4c96b8cb247ae0c4dc1851e98b78afcd3a162aeca50c94a6a8a37fa0c8cf7afcdb6f838a5f3fc73858898bf82a8
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,32 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
+
### 0.14.1 (2024-03-13)
|
4
|
+
|
5
|
+
#### Bug Fixes
|
6
|
+
|
7
|
+
* fixes uninitialized Pathname issue ([#18480](https://github.com/googleapis/google-api-ruby-client/issues/18480))
|
8
|
+
|
9
|
+
### 0.14.0 (2024-02-23)
|
10
|
+
|
11
|
+
#### Features
|
12
|
+
|
13
|
+
* Update minimum Ruby version to 2.7 ([#17896](https://github.com/googleapis/google-api-ruby-client/issues/17896))
|
14
|
+
#### Bug Fixes
|
15
|
+
|
16
|
+
* allow BaseService#root_url to be an Addressable::URI ([#17895](https://github.com/googleapis/google-api-ruby-client/issues/17895))
|
17
|
+
|
18
|
+
### 0.13.0 (2024-01-26)
|
19
|
+
|
20
|
+
#### Features
|
21
|
+
|
22
|
+
* Verify credential universe domain against configured universe domain ([#17569](https://github.com/googleapis/google-api-ruby-client/issues/17569))
|
23
|
+
|
24
|
+
### 0.12.0 (2024-01-22)
|
25
|
+
|
26
|
+
#### Features
|
27
|
+
|
28
|
+
* Support for universe_domain ([#17131](https://github.com/googleapis/google-api-ruby-client/issues/17131))
|
29
|
+
|
3
30
|
### 0.11.3 (2024-01-17)
|
4
31
|
|
5
32
|
#### Bug Fixes
|
@@ -93,11 +93,49 @@ module Google
|
|
93
93
|
# Base service for all APIs. Not to be used directly.
|
94
94
|
#
|
95
95
|
class BaseService
|
96
|
+
##
|
97
|
+
# A substitution string for the universe domain in an endpoint template
|
98
|
+
# @return [String]
|
99
|
+
#
|
100
|
+
ENDPOINT_SUBSTITUTION = "$UNIVERSE_DOMAIN$".freeze
|
101
|
+
|
96
102
|
include Logging
|
97
103
|
|
104
|
+
# Universe domain
|
105
|
+
# @return [String]
|
106
|
+
attr_reader :universe_domain
|
107
|
+
|
108
|
+
# Set the universe domain.
|
109
|
+
# If the root URL was set with a universe domain substitution, it is
|
110
|
+
# updated to reflect the new universe domain.
|
111
|
+
#
|
112
|
+
# @param new_ud [String,nil] The new universe domain, or nil to use the Google Default Universe
|
113
|
+
def universe_domain= new_ud
|
114
|
+
new_ud ||= ENV["GOOGLE_CLOUD_UNIVERSE_DOMAIN"] || "googleapis.com"
|
115
|
+
if @root_url_template
|
116
|
+
@root_url = @root_url_template.gsub ENDPOINT_SUBSTITUTION, new_ud
|
117
|
+
end
|
118
|
+
@universe_domain = new_ud
|
119
|
+
end
|
120
|
+
|
98
121
|
# Root URL (host/port) for the API
|
99
|
-
# @return [Addressable::URI]
|
100
|
-
|
122
|
+
# @return [Addressable::URI, String]
|
123
|
+
attr_reader :root_url
|
124
|
+
|
125
|
+
# Set the root URL.
|
126
|
+
# If the given url includes a universe domain substitution, it is
|
127
|
+
# resolved in the current universe domain
|
128
|
+
#
|
129
|
+
# @param url_or_template [Addressable::URI, String] The URL, which can include a universe domain substitution
|
130
|
+
def root_url= url_or_template
|
131
|
+
if url_or_template.is_a?(String) && url_or_template.include?(ENDPOINT_SUBSTITUTION)
|
132
|
+
@root_url_template = url_or_template
|
133
|
+
@root_url = url_or_template.gsub ENDPOINT_SUBSTITUTION, universe_domain
|
134
|
+
else
|
135
|
+
@root_url_template = nil
|
136
|
+
@root_url = url_or_template
|
137
|
+
end
|
138
|
+
end
|
101
139
|
|
102
140
|
# Additional path prefix for all API methods
|
103
141
|
# @return [Addressable::URI]
|
@@ -136,7 +174,9 @@ module Google
|
|
136
174
|
# @param [String,Addressable::URI] base_path
|
137
175
|
# Additional path prefix for all API methods
|
138
176
|
# @api private
|
139
|
-
def initialize(root_url, base_path, client_name: nil, client_version: nil)
|
177
|
+
def initialize(root_url, base_path, client_name: nil, client_version: nil, universe_domain: nil)
|
178
|
+
@root_url_template = nil
|
179
|
+
self.universe_domain = universe_domain
|
140
180
|
self.root_url = root_url
|
141
181
|
self.base_path = base_path
|
142
182
|
self.client_name = client_name || 'google-api-ruby-client'
|
@@ -279,7 +319,7 @@ module Google
|
|
279
319
|
# Name of the field in the result containing the items. Defaults to :items
|
280
320
|
# @param [Boolean] cache
|
281
321
|
# True (default) if results should be cached so multiple iterations can be used.
|
282
|
-
# @return [
|
322
|
+
# @return [Enumerable]
|
283
323
|
# @yield [token, service]
|
284
324
|
# Current page token & service instance
|
285
325
|
# @yieldparam [String] token
|
@@ -296,6 +336,20 @@ module Google
|
|
296
336
|
return PagedResults.new(self, max: max, items: items, cache: cache, response_page_token: response_page_token, &block)
|
297
337
|
end
|
298
338
|
|
339
|
+
# Verify that the universe domain setting matches the universe domain
|
340
|
+
# in the credentials, if present.
|
341
|
+
#
|
342
|
+
# @raise [Google::Apis::UniverseDomainError] if there is a mismatch
|
343
|
+
def verify_universe_domain!
|
344
|
+
auth = authorization
|
345
|
+
auth_universe_domain = auth.universe_domain if auth.respond_to? :universe_domain
|
346
|
+
if auth_universe_domain && auth_universe_domain != universe_domain
|
347
|
+
raise UniverseDomainError,
|
348
|
+
"Universe domain is #{universe_domain} but credentials are in #{auth_universe_domain}"
|
349
|
+
end
|
350
|
+
true
|
351
|
+
end
|
352
|
+
|
299
353
|
protected
|
300
354
|
|
301
355
|
# Create a new upload command.
|
@@ -308,6 +362,7 @@ module Google
|
|
308
362
|
# Request-specific options
|
309
363
|
# @return [Google::Apis::Core::UploadCommand]
|
310
364
|
def make_upload_command(method, path, options)
|
365
|
+
verify_universe_domain!
|
311
366
|
template = Addressable::Template.new(root_url + upload_path + path)
|
312
367
|
if batch?
|
313
368
|
command = MultipartUploadCommand.new(method, template, client_version: client_version)
|
@@ -332,6 +387,7 @@ module Google
|
|
332
387
|
# Request-specific options
|
333
388
|
# @return [Google::Apis::Core::StorageUploadCommand]
|
334
389
|
def make_storage_upload_command(method, path, options)
|
390
|
+
verify_universe_domain!
|
335
391
|
template = Addressable::Template.new(root_url + upload_path + path)
|
336
392
|
command = StorageUploadCommand.new(method, template, client_version: client_version)
|
337
393
|
command.options = request_options.merge(options)
|
@@ -349,6 +405,7 @@ module Google
|
|
349
405
|
# Request-specific options
|
350
406
|
# @return [Google::Apis::Core::DownloadCommand]
|
351
407
|
def make_download_command(method, path, options)
|
408
|
+
verify_universe_domain!
|
352
409
|
template = Addressable::Template.new(root_url + base_path + path)
|
353
410
|
command = DownloadCommand.new(method, template, client_version: client_version)
|
354
411
|
command.options = request_options.merge(options)
|
@@ -368,6 +425,7 @@ module Google
|
|
368
425
|
# Request-specific options
|
369
426
|
# @return [Google::Apis::Core::StorageDownloadCommand]
|
370
427
|
def make_storage_download_command(method, path, options)
|
428
|
+
verify_universe_domain!
|
371
429
|
template = Addressable::Template.new(root_url + base_path + path)
|
372
430
|
command = StorageDownloadCommand.new(method, template, client_version: client_version)
|
373
431
|
command.options = request_options.merge(options)
|
@@ -386,6 +444,7 @@ module Google
|
|
386
444
|
# Request-specific options
|
387
445
|
# @return [Google::Apis::Core::DownloadCommand]
|
388
446
|
def make_simple_command(method, path, options)
|
447
|
+
verify_universe_domain!
|
389
448
|
full_path =
|
390
449
|
if path.start_with? "/"
|
391
450
|
path[1..-1]
|
@@ -25,7 +25,7 @@ module Google
|
|
25
25
|
|
26
26
|
# Execute the upload request once. Overrides the default implementation to handle streaming/chunking
|
27
27
|
# of file content.
|
28
|
-
# Note: This method is
|
28
|
+
# Note: This method is overridden from DownloadCommand in order to respond back with
|
29
29
|
# http header. All changes made to `execute_once` of DownloadCommand, should be made
|
30
30
|
# here too.
|
31
31
|
#
|
data/lib/google/apis/errors.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-apis-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.14.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Google LLC
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-03-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: representable
|
@@ -82,22 +82,16 @@ dependencies:
|
|
82
82
|
name: googleauth
|
83
83
|
requirement: !ruby/object:Gem::Requirement
|
84
84
|
requirements:
|
85
|
-
- - "
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
version: 0.16.2
|
88
|
-
- - "<"
|
85
|
+
- - "~>"
|
89
86
|
- !ruby/object:Gem::Version
|
90
|
-
version:
|
87
|
+
version: '1.9'
|
91
88
|
type: :runtime
|
92
89
|
prerelease: false
|
93
90
|
version_requirements: !ruby/object:Gem::Requirement
|
94
91
|
requirements:
|
95
|
-
- - "
|
96
|
-
- !ruby/object:Gem::Version
|
97
|
-
version: 0.16.2
|
98
|
-
- - "<"
|
92
|
+
- - "~>"
|
99
93
|
- !ruby/object:Gem::Version
|
100
|
-
version:
|
94
|
+
version: '1.9'
|
101
95
|
- !ruby/object:Gem::Dependency
|
102
96
|
name: httpclient
|
103
97
|
requirement: !ruby/object:Gem::Requirement
|
@@ -172,7 +166,7 @@ licenses:
|
|
172
166
|
metadata:
|
173
167
|
bug_tracker_uri: https://github.com/googleapis/google-api-ruby-client/issues
|
174
168
|
changelog_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/google-apis-core/CHANGELOG.md
|
175
|
-
documentation_uri: https://googleapis.dev/ruby/google-apis-core/v0.
|
169
|
+
documentation_uri: https://googleapis.dev/ruby/google-apis-core/v0.14.1
|
176
170
|
source_code_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/google-apis-core
|
177
171
|
post_install_message:
|
178
172
|
rdoc_options: []
|
@@ -182,14 +176,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
182
176
|
requirements:
|
183
177
|
- - ">="
|
184
178
|
- !ruby/object:Gem::Version
|
185
|
-
version: '2.
|
179
|
+
version: '2.7'
|
186
180
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
187
181
|
requirements:
|
188
182
|
- - ">="
|
189
183
|
- !ruby/object:Gem::Version
|
190
184
|
version: '0'
|
191
185
|
requirements: []
|
192
|
-
rubygems_version: 3.5.
|
186
|
+
rubygems_version: 3.5.6
|
193
187
|
signing_key:
|
194
188
|
specification_version: 4
|
195
189
|
summary: Common utility and base classes for legacy Google REST clients
|