arvados-google-api-client 0.8.7.4 → 0.8.7.6
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/README.md +4 -215
- data/{google-api-client.gemspec → arvados-google-api-client.gemspec} +17 -9
- data/lib/google/api_client/charset.rb +2 -2
- data/lib/google/api_client/media.rb +3 -2
- data/lib/google/api_client/request.rb +2 -34
- data/lib/google/api_client/version.rb +1 -1
- data/lib/google/api_client.rb +2 -2
- metadata +48 -23
- data/lib/google/api_client/gzip.rb +0 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b66c7d46eb69544bbd4dceb0187b3e8c794b0eab06a88b0f0c12815f095f40b
|
4
|
+
data.tar.gz: e8948b2721dcd00013c816d36d1fc602a5ce15918d1c0d28b2722855f761f9a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 543b11a3bd80fb68891f7767760394f90c327274e53c1183e628c7f81d648f0b84d2a24ea7b63e8942af2bb62d1ef6a39f6657c22d749ee995cc47605ace9ec4
|
7
|
+
data.tar.gz: 88bbf7ee54bb883383f807948859e60af6793fa67d938c02a4d41cea729477fb46c43d67a428980187f9bfecf6f5552ec36b155650d1a5c81e931156ce8bb73e
|
data/README.md
CHANGED
@@ -1,218 +1,7 @@
|
|
1
|
-
# Google API Client
|
1
|
+
# Arvados Google API Client
|
2
2
|
|
3
|
-
|
4
|
-
<dt>Homepage</dt><dd><a href="http://www.github.com/google/google-api-ruby-client">http://www.github.com/google/google-api-ruby-client</a></dd>
|
5
|
-
<dt>Authors</dt><dd>Bob Aman, <a href="mailto:sbazyl@google.com">Steven Bazyl</a></dd>
|
6
|
-
<dt>Copyright</dt><dd>Copyright © 2011 Google, Inc.</dd>
|
7
|
-
<dt>License</dt><dd>Apache 2.0</dd>
|
8
|
-
</dl>
|
3
|
+
This is a fork of the google-api-client gem, based on https://github.com/google/google-api-ruby-client version 0.8.6.
|
9
4
|
|
10
|
-
|
11
|
-
[](https://gemnasium.com/google/google-api-ruby-client)
|
5
|
+
It adds compatibility fixes for newer versions of dependencies (Ruby, faraday, etc.) while avoiding the breaking API changes that have been made in the upstream project.
|
12
6
|
|
13
|
-
|
14
|
-
|
15
|
-
The Google API Ruby Client makes it trivial to discover and access supported
|
16
|
-
APIs.
|
17
|
-
|
18
|
-
## Alpha
|
19
|
-
|
20
|
-
This library is in Alpha. We will make an effort to support the library, but we reserve the right to make incompatible changes when necessary.
|
21
|
-
|
22
|
-
## Install
|
23
|
-
|
24
|
-
Be sure `https://rubygems.org/` is in your gem sources.
|
25
|
-
|
26
|
-
For normal client usage, this is sufficient:
|
27
|
-
|
28
|
-
```bash
|
29
|
-
$ gem install google-api-client
|
30
|
-
```
|
31
|
-
|
32
|
-
## Example Usage
|
33
|
-
|
34
|
-
```ruby
|
35
|
-
require 'google/api_client'
|
36
|
-
require 'google/api_client/client_secrets'
|
37
|
-
require 'google/api_client/auth/installed_app'
|
38
|
-
|
39
|
-
# Initialize the client.
|
40
|
-
client = Google::APIClient.new(
|
41
|
-
:application_name => 'Example Ruby application',
|
42
|
-
:application_version => '1.0.0'
|
43
|
-
)
|
44
|
-
|
45
|
-
# Initialize Google+ API. Note this will make a request to the
|
46
|
-
# discovery service every time, so be sure to use serialization
|
47
|
-
# in your production code. Check the samples for more details.
|
48
|
-
plus = client.discovered_api('plus')
|
49
|
-
|
50
|
-
# Load client secrets from your client_secrets.json.
|
51
|
-
client_secrets = Google::APIClient::ClientSecrets.load
|
52
|
-
|
53
|
-
# Run installed application flow. Check the samples for a more
|
54
|
-
# complete example that saves the credentials between runs.
|
55
|
-
flow = Google::APIClient::InstalledAppFlow.new(
|
56
|
-
:client_id => client_secrets.client_id,
|
57
|
-
:client_secret => client_secrets.client_secret,
|
58
|
-
:scope => ['https://www.googleapis.com/auth/plus.me']
|
59
|
-
)
|
60
|
-
client.authorization = flow.authorize
|
61
|
-
|
62
|
-
# Make an API call.
|
63
|
-
result = client.execute(
|
64
|
-
:api_method => plus.activities.list,
|
65
|
-
:parameters => {'collection' => 'public', 'userId' => 'me'}
|
66
|
-
)
|
67
|
-
|
68
|
-
puts result.data
|
69
|
-
```
|
70
|
-
|
71
|
-
## API Features
|
72
|
-
|
73
|
-
### API Discovery
|
74
|
-
|
75
|
-
To take full advantage of the client, load API definitions prior to use. To load an API:
|
76
|
-
|
77
|
-
```ruby
|
78
|
-
urlshortener = client.discovered_api('urlshortener')
|
79
|
-
```
|
80
|
-
|
81
|
-
Specific versions of the API can be loaded as well:
|
82
|
-
|
83
|
-
```ruby
|
84
|
-
drive = client.discovered_api('drive', 'v2')
|
85
|
-
```
|
86
|
-
|
87
|
-
Locally cached discovery documents may be used as well. To load an API from a local file:
|
88
|
-
|
89
|
-
```ruby
|
90
|
-
# Output discovery document to JSON
|
91
|
-
File.open('my-api.json', 'w') do |f| f.puts MultiJson.dump(client.discovery_document('myapi', 'v1')) end
|
92
|
-
|
93
|
-
# Read discovery document and load API
|
94
|
-
doc = File.read('my-api.json')
|
95
|
-
client.register_discovery_document('myapi', 'v1', doc)
|
96
|
-
my_api = client.discovered_api('myapi', 'v1')
|
97
|
-
```
|
98
|
-
|
99
|
-
### Authorization
|
100
|
-
|
101
|
-
Most interactions with Google APIs require users to authorize applications via OAuth 2.0. The client library uses [Signet](https://github.com/google/signet) to handle most aspects of authorization. For additional details about Google's OAuth support, see [Google Developers](https://developers.google.com/accounts/docs/OAuth2).
|
102
|
-
|
103
|
-
Credentials can be managed at the connection level, as shown, or supplied on a per-request basis when calling `execute`.
|
104
|
-
|
105
|
-
For server-to-server interactions, like those between a web application and Google Cloud Storage, Prediction, or BigQuery APIs, use service accounts.
|
106
|
-
|
107
|
-
As of version 0.8.3, service accounts can be configured using
|
108
|
-
[Application Default Credentials][1], which rely on the credentials being
|
109
|
-
available in a well-known location. If the credentials are not present
|
110
|
-
and it's being used on a Compute Engine VM, it will use the VM's default credentials.
|
111
|
-
|
112
|
-
```ruby
|
113
|
-
client.authorization = :google_app_default # in a later version, this will become the default
|
114
|
-
client.authorization.fetch_access_token!
|
115
|
-
client.execute(...)
|
116
|
-
```
|
117
|
-
|
118
|
-
This is simpler API to use than in previous versions, although that is still available:
|
119
|
-
|
120
|
-
```ruby
|
121
|
-
key = Google::APIClient::KeyUtils.load_from_pkcs12('client.p12', 'notasecret')
|
122
|
-
client.authorization = Signet::OAuth2::Client.new(
|
123
|
-
:token_credential_uri => 'https://accounts.google.com/o/oauth2/token',
|
124
|
-
:audience => 'https://accounts.google.com/o/oauth2/token',
|
125
|
-
:scope => 'https://www.googleapis.com/auth/prediction',
|
126
|
-
:issuer => '123456-abcdef@developer.gserviceaccount.com',
|
127
|
-
:signing_key => key)
|
128
|
-
client.authorization.fetch_access_token!
|
129
|
-
client.execute(...)
|
130
|
-
```
|
131
|
-
|
132
|
-
Service accounts are also used for delegation in Google Apps domains. The target user for impersonation is specified by setting the `:person` parameter to the user's email address
|
133
|
-
in the credentials. Detailed instructions on how to enable delegation for your domain can be found at [developers.google.com](https://developers.google.com/drive/delegation).
|
134
|
-
|
135
|
-
### Automatic Retries & Backoff
|
136
|
-
|
137
|
-
The API client can automatically retry requests for recoverable errors. To enable retries, set the `client.retries` property to
|
138
|
-
the number of additional attempts. To avoid flooding servers, retries invovle a 1 second delay that increases on each subsequent retry.
|
139
|
-
In the case of authentication token expiry, the API client will attempt to refresh the token and retry the failed operation - this
|
140
|
-
is a specific exception to the retry rules.
|
141
|
-
|
142
|
-
The default value for retries is 0, but will be enabled by default in future releases.
|
143
|
-
|
144
|
-
### Batching Requests
|
145
|
-
|
146
|
-
Some Google APIs support batching requests into a single HTTP request. Use `Google::APIClient::BatchRequest`
|
147
|
-
to bundle multiple requests together.
|
148
|
-
|
149
|
-
Example:
|
150
|
-
|
151
|
-
```ruby
|
152
|
-
client = Google::APIClient.new
|
153
|
-
urlshortener = client.discovered_api('urlshortener')
|
154
|
-
|
155
|
-
batch = Google::APIClient::BatchRequest.new do |result|
|
156
|
-
puts result.data
|
157
|
-
end
|
158
|
-
|
159
|
-
batch.add(:api_method => urlshortener.url.insert,
|
160
|
-
:body_object => { 'longUrl' => 'http://example.com/foo' })
|
161
|
-
batch.add(:api_method => urlshortener.url.insert,
|
162
|
-
:body_object => { 'longUrl' => 'http://example.com/bar' })
|
163
|
-
client.execute(batch)
|
164
|
-
```
|
165
|
-
|
166
|
-
Blocks for handling responses can be specified either at the batch level or when adding an individual API call. For example:
|
167
|
-
|
168
|
-
```ruby
|
169
|
-
batch.add(:api_method=>urlshortener.url.insert, :body_object => { 'longUrl' => 'http://example.com/bar' }) do |result|
|
170
|
-
puts result.data
|
171
|
-
end
|
172
|
-
```
|
173
|
-
|
174
|
-
### Media Upload
|
175
|
-
|
176
|
-
For APIs that support file uploads, use `Google::APIClient::UploadIO` to load the stream. Both multipart and resumable
|
177
|
-
uploads can be used. For example, to upload a file to Google Drive using multipart
|
178
|
-
|
179
|
-
```ruby
|
180
|
-
drive = client.discovered_api('drive', 'v2')
|
181
|
-
|
182
|
-
media = Google::APIClient::UploadIO.new('mymovie.m4v', 'video/mp4')
|
183
|
-
metadata = {
|
184
|
-
'title' => 'My movie',
|
185
|
-
'description' => 'The best home movie ever made'
|
186
|
-
}
|
187
|
-
client.execute(:api_method => drive.files.insert,
|
188
|
-
:parameters => { 'uploadType' => 'multipart' },
|
189
|
-
:body_object => metadata,
|
190
|
-
:media => media )
|
191
|
-
```
|
192
|
-
|
193
|
-
To use resumable uploads, change the `uploadType` parameter to `resumable`. To check the status of the upload
|
194
|
-
and continue if necessary, check `result.resumable_upload`.
|
195
|
-
|
196
|
-
```ruby
|
197
|
-
client.execute(:api_method => drive.files.insert,
|
198
|
-
:parameters => { 'uploadType' => 'resumable' },
|
199
|
-
:body_object => metadata,
|
200
|
-
:media => media )
|
201
|
-
upload = result.resumable_upload
|
202
|
-
|
203
|
-
# Resume if needed
|
204
|
-
if upload.resumable?
|
205
|
-
client.execute(upload)
|
206
|
-
end
|
207
|
-
```
|
208
|
-
|
209
|
-
## Samples
|
210
|
-
|
211
|
-
See the full list of [samples on Github](https://github.com/google/google-api-ruby-client-samples).
|
212
|
-
|
213
|
-
|
214
|
-
## Support
|
215
|
-
|
216
|
-
Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs on [StackOverflow](http://stackoverflow.com).
|
217
|
-
|
218
|
-
[1]: https://developers.google.com/accounts/docs/application-default-credentials
|
7
|
+
It is entirely focused on the use cases needed by the Arvados Ruby SDK and is not intended or expected to work elsewhere.
|
@@ -5,34 +5,42 @@ Gem::Specification.new do |s|
|
|
5
5
|
s.name = "arvados-google-api-client"
|
6
6
|
s.version = Google::APIClient::VERSION::STRING
|
7
7
|
|
8
|
+
s.required_ruby_version = '>= 2.5.0'
|
8
9
|
s.required_rubygems_version = ">= 1.3.5"
|
9
10
|
s.require_paths = ["lib"]
|
10
11
|
s.authors = ["Bob Aman", "Steven Bazyl"]
|
11
12
|
s.license = "Apache-2.0"
|
12
|
-
s.description = "
|
13
|
-
s.email = "
|
13
|
+
s.description = "Fork of google-api-client used by Ruby-based Arvados components."
|
14
|
+
s.email = "dev@arvados.org"
|
14
15
|
s.extra_rdoc_files = ["README.md"]
|
15
|
-
s.files = %w(google-api-client.gemspec Rakefile LICENSE CHANGELOG.md README.md Gemfile)
|
16
|
+
s.files = %w(arvados-google-api-client.gemspec Rakefile LICENSE CHANGELOG.md README.md Gemfile)
|
16
17
|
s.files += Dir.glob("lib/**/*.rb")
|
17
18
|
s.files += Dir.glob("lib/cacerts.pem")
|
18
19
|
s.files += Dir.glob("spec/**/*.{rb,opts}")
|
19
20
|
s.files += Dir.glob("vendor/**/*.rb")
|
20
21
|
s.files += Dir.glob("tasks/**/*")
|
21
22
|
s.files += Dir.glob("website/**/*")
|
22
|
-
s.homepage = "https://github.com/arvados/google-api-
|
23
|
+
s.homepage = "https://github.com/arvados/arvados/tree/main/sdk/ruby-google-api-client"
|
23
24
|
s.rdoc_options = ["--main", "README.md"]
|
24
|
-
s.summary = "
|
25
|
+
s.summary = "Fork of google-api-client used by Ruby-based Arvados components."
|
25
26
|
|
26
27
|
s.add_runtime_dependency 'addressable', '~> 2.3'
|
27
|
-
s.add_runtime_dependency 'signet', '~> 0.
|
28
|
-
|
29
|
-
|
28
|
+
s.add_runtime_dependency 'signet', '~> 0.16.0'
|
29
|
+
# faraday requires Ruby 3.0 starting with 2.9.0. If you install this gem
|
30
|
+
# on Ruby 2.7, the dependency resolver asks you to resolve the conflict
|
31
|
+
# manually. Instead of teaching all our tooling to do that, we prefer to
|
32
|
+
# require the latest version that supports Ruby 2.7 here. This requirement
|
33
|
+
# can be relaxed to '~> 2.0' when we drop support for Ruby 2.7.
|
34
|
+
s.add_runtime_dependency 'faraday', '~> 2.8.0'
|
35
|
+
s.add_runtime_dependency 'faraday-multipart', '~> 1.0'
|
36
|
+
s.add_runtime_dependency 'faraday-gzip', '~> 2.0'
|
37
|
+
s.add_runtime_dependency 'googleauth', '~> 1.0'
|
30
38
|
s.add_runtime_dependency 'multi_json', '~> 1.10'
|
31
39
|
s.add_runtime_dependency 'autoparse', '~> 0.3'
|
32
40
|
s.add_runtime_dependency 'extlib', '~> 0.9'
|
33
41
|
s.add_runtime_dependency 'launchy', '~> 2.4'
|
34
42
|
s.add_runtime_dependency 'retriable', '~> 1.4'
|
35
|
-
s.add_runtime_dependency 'activesupport', '>= 3.2', '<
|
43
|
+
s.add_runtime_dependency 'activesupport', '>= 3.2', '< 8.0'
|
36
44
|
|
37
45
|
s.add_development_dependency 'rake', '~> 10.0'
|
38
46
|
s.add_development_dependency 'yard', '~> 0.8'
|
@@ -3,7 +3,7 @@ require 'zlib'
|
|
3
3
|
|
4
4
|
module Google
|
5
5
|
class APIClient
|
6
|
-
class Charset < Faraday::
|
6
|
+
class Charset < Faraday::Middleware
|
7
7
|
include Google::APIClient::Logging
|
8
8
|
|
9
9
|
def charset_for_content_type(type)
|
@@ -30,4 +30,4 @@ module Google
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
Faraday::Response.register_middleware :charset => Google::APIClient::Charset
|
33
|
+
Faraday::Response.register_middleware :charset => Google::APIClient::Charset
|
@@ -12,6 +12,7 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
require 'google/api_client/reference'
|
15
|
+
require 'faraday/multipart'
|
15
16
|
|
16
17
|
module Google
|
17
18
|
class APIClient
|
@@ -21,7 +22,7 @@ module Google
|
|
21
22
|
# @see Faraday::UploadIO
|
22
23
|
# @example
|
23
24
|
# media = Google::APIClient::UploadIO.new('mymovie.m4v', 'video/mp4')
|
24
|
-
class UploadIO < Faraday::
|
25
|
+
class UploadIO < Faraday::Multipart::FilePart
|
25
26
|
|
26
27
|
# @return [Fixnum] Size of chunks to upload. Default is nil, meaning upload the entire file in a single request
|
27
28
|
attr_accessor :chunk_size
|
@@ -256,4 +257,4 @@ module Google
|
|
256
257
|
|
257
258
|
end
|
258
259
|
end
|
259
|
-
end
|
260
|
+
end
|
@@ -13,7 +13,6 @@
|
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
15
|
require 'faraday'
|
16
|
-
require 'faraday/request/multipart'
|
17
16
|
require 'compat/multi_json'
|
18
17
|
require 'addressable/uri'
|
19
18
|
require 'stringio'
|
@@ -279,32 +278,7 @@ module Google
|
|
279
278
|
# @option options [#read, #to_str] :body
|
280
279
|
# Raw body to send in POST/PUT requests
|
281
280
|
def initialize_media_upload(options)
|
282
|
-
|
283
|
-
case self.upload_type
|
284
|
-
when "media"
|
285
|
-
if options[:body] || options[:body_object]
|
286
|
-
raise ArgumentError, "Can not specify body & body object for simple uploads"
|
287
|
-
end
|
288
|
-
self.headers['Content-Type'] ||= self.media.content_type
|
289
|
-
self.headers['Content-Length'] ||= self.media.length.to_s
|
290
|
-
self.body = self.media
|
291
|
-
when "multipart"
|
292
|
-
unless options[:body_object]
|
293
|
-
raise ArgumentError, "Multipart requested but no body object"
|
294
|
-
end
|
295
|
-
metadata = StringIO.new(serialize_body(options[:body_object]))
|
296
|
-
build_multipart([Faraday::UploadIO.new(metadata, 'application/json', 'file.json'), self.media])
|
297
|
-
when "resumable"
|
298
|
-
file_length = self.media.length
|
299
|
-
self.headers['X-Upload-Content-Type'] = self.media.content_type
|
300
|
-
self.headers['X-Upload-Content-Length'] = file_length.to_s
|
301
|
-
if options[:body_object]
|
302
|
-
self.headers['Content-Type'] ||= 'application/json'
|
303
|
-
self.body = serialize_body(options[:body_object])
|
304
|
-
else
|
305
|
-
self.body = ''
|
306
|
-
end
|
307
|
-
end
|
281
|
+
raise "media upload not supported by arvados-google-api-client"
|
308
282
|
end
|
309
283
|
|
310
284
|
##
|
@@ -319,13 +293,7 @@ module Google
|
|
319
293
|
# @param [String] boundary
|
320
294
|
# Boundary for separating each part of the message
|
321
295
|
def build_multipart(parts, mime_type = 'multipart/related', boundary = MULTIPART_BOUNDARY)
|
322
|
-
|
323
|
-
env.request = Faraday::RequestOptions.new
|
324
|
-
env.request.boundary = boundary
|
325
|
-
env.request_headers = {'Content-Type' => "#{mime_type};boundary=#{boundary}"}
|
326
|
-
multipart = Faraday::Request::Multipart.new
|
327
|
-
self.body = multipart.create_multipart(env, parts.map {|part| [nil, part]})
|
328
|
-
self.headers.update(env[:request_headers])
|
296
|
+
raise "multipart upload not supported by arvados-google-api-client"
|
329
297
|
end
|
330
298
|
|
331
299
|
##
|
data/lib/google/api_client.rb
CHANGED
@@ -14,6 +14,7 @@
|
|
14
14
|
|
15
15
|
|
16
16
|
require 'faraday'
|
17
|
+
require 'faraday/gzip'
|
17
18
|
require 'multi_json'
|
18
19
|
require 'compat/multi_json'
|
19
20
|
require 'stringio'
|
@@ -30,7 +31,6 @@ require 'google/api_client/result'
|
|
30
31
|
require 'google/api_client/media'
|
31
32
|
require 'google/api_client/service_account'
|
32
33
|
require 'google/api_client/batch'
|
33
|
-
require 'google/api_client/gzip'
|
34
34
|
require 'google/api_client/charset'
|
35
35
|
require 'google/api_client/client_secrets'
|
36
36
|
require 'google/api_client/railtie' if defined?(Rails)
|
@@ -130,8 +130,8 @@ module Google
|
|
130
130
|
@discovered_apis = {}
|
131
131
|
ca_file = options[:ca_file] || File.expand_path('../../cacerts.pem', __FILE__)
|
132
132
|
self.connection = Faraday.new do |faraday|
|
133
|
+
faraday.request :gzip
|
133
134
|
faraday.response :charset if options[:force_encoding]
|
134
|
-
faraday.response :gzip
|
135
135
|
faraday.options.params_encoder = Faraday::FlatParamsEncoder
|
136
136
|
faraday.ssl.ca_file = ca_file
|
137
137
|
faraday.ssl.verify = true
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: arvados-google-api-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.7.
|
4
|
+
version: 0.8.7.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bob Aman
|
8
8
|
- Steven Bazyl
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-02-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: addressable
|
@@ -31,42 +31,70 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
34
|
+
version: 0.16.0
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
41
|
+
version: 0.16.0
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: faraday
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
48
|
+
version: 2.8.0
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
55
|
+
version: 2.8.0
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: faraday-multipart
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '1.0'
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '1.0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: faraday-gzip
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - "~>"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '2.0'
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - "~>"
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '2.0'
|
56
84
|
- !ruby/object:Gem::Dependency
|
57
85
|
name: googleauth
|
58
86
|
requirement: !ruby/object:Gem::Requirement
|
59
87
|
requirements:
|
60
88
|
- - "~>"
|
61
89
|
- !ruby/object:Gem::Version
|
62
|
-
version: '0
|
90
|
+
version: '1.0'
|
63
91
|
type: :runtime
|
64
92
|
prerelease: false
|
65
93
|
version_requirements: !ruby/object:Gem::Requirement
|
66
94
|
requirements:
|
67
95
|
- - "~>"
|
68
96
|
- !ruby/object:Gem::Version
|
69
|
-
version: '0
|
97
|
+
version: '1.0'
|
70
98
|
- !ruby/object:Gem::Dependency
|
71
99
|
name: multi_json
|
72
100
|
requirement: !ruby/object:Gem::Requirement
|
@@ -146,7 +174,7 @@ dependencies:
|
|
146
174
|
version: '3.2'
|
147
175
|
- - "<"
|
148
176
|
- !ruby/object:Gem::Version
|
149
|
-
version: '
|
177
|
+
version: '8.0'
|
150
178
|
type: :runtime
|
151
179
|
prerelease: false
|
152
180
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -156,7 +184,7 @@ dependencies:
|
|
156
184
|
version: '3.2'
|
157
185
|
- - "<"
|
158
186
|
- !ruby/object:Gem::Version
|
159
|
-
version: '
|
187
|
+
version: '8.0'
|
160
188
|
- !ruby/object:Gem::Dependency
|
161
189
|
name: rake
|
162
190
|
requirement: !ruby/object:Gem::Requirement
|
@@ -241,9 +269,8 @@ dependencies:
|
|
241
269
|
- - "~>"
|
242
270
|
- !ruby/object:Gem::Version
|
243
271
|
version: 0.7.11
|
244
|
-
description:
|
245
|
-
|
246
|
-
email: sbazyl@google.com
|
272
|
+
description: Fork of google-api-client used by Ruby-based Arvados components.
|
273
|
+
email: dev@arvados.org
|
247
274
|
executables: []
|
248
275
|
extensions: []
|
249
276
|
extra_rdoc_files:
|
@@ -254,7 +281,7 @@ files:
|
|
254
281
|
- LICENSE
|
255
282
|
- README.md
|
256
283
|
- Rakefile
|
257
|
-
- google-api-client.gemspec
|
284
|
+
- arvados-google-api-client.gemspec
|
258
285
|
- lib/cacerts.pem
|
259
286
|
- lib/compat/multi_json.rb
|
260
287
|
- lib/google/api_client.rb
|
@@ -278,7 +305,6 @@ files:
|
|
278
305
|
- lib/google/api_client/discovery/schema.rb
|
279
306
|
- lib/google/api_client/environment.rb
|
280
307
|
- lib/google/api_client/errors.rb
|
281
|
-
- lib/google/api_client/gzip.rb
|
282
308
|
- lib/google/api_client/logging.rb
|
283
309
|
- lib/google/api_client/media.rb
|
284
310
|
- lib/google/api_client/railtie.rb
|
@@ -309,11 +335,11 @@ files:
|
|
309
335
|
- spec/google/api_client/simple_file_store_spec.rb
|
310
336
|
- spec/google/api_client_spec.rb
|
311
337
|
- spec/spec_helper.rb
|
312
|
-
homepage: https://github.com/arvados/google-api-
|
338
|
+
homepage: https://github.com/arvados/arvados/tree/main/sdk/ruby-google-api-client
|
313
339
|
licenses:
|
314
340
|
- Apache-2.0
|
315
341
|
metadata: {}
|
316
|
-
post_install_message:
|
342
|
+
post_install_message:
|
317
343
|
rdoc_options:
|
318
344
|
- "--main"
|
319
345
|
- README.md
|
@@ -323,16 +349,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
323
349
|
requirements:
|
324
350
|
- - ">="
|
325
351
|
- !ruby/object:Gem::Version
|
326
|
-
version:
|
352
|
+
version: 2.5.0
|
327
353
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
328
354
|
requirements:
|
329
355
|
- - ">="
|
330
356
|
- !ruby/object:Gem::Version
|
331
357
|
version: 1.3.5
|
332
358
|
requirements: []
|
333
|
-
rubygems_version: 3.
|
334
|
-
signing_key:
|
359
|
+
rubygems_version: 3.4.21
|
360
|
+
signing_key:
|
335
361
|
specification_version: 4
|
336
|
-
summary:
|
337
|
-
REST APIs.
|
362
|
+
summary: Fork of google-api-client used by Ruby-based Arvados components.
|
338
363
|
test_files: []
|
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'faraday'
|
2
|
-
require 'zlib'
|
3
|
-
|
4
|
-
module Google
|
5
|
-
class APIClient
|
6
|
-
class Gzip < Faraday::Response::Middleware
|
7
|
-
include Google::APIClient::Logging
|
8
|
-
|
9
|
-
def on_complete(env)
|
10
|
-
encoding = env[:response_headers]['content-encoding'].to_s.downcase
|
11
|
-
case encoding
|
12
|
-
when 'gzip'
|
13
|
-
logger.debug { "Decompressing gzip encoded response (#{env[:body].length} bytes)" }
|
14
|
-
env[:body] = Zlib::GzipReader.new(StringIO.new(env[:body])).read
|
15
|
-
env[:response_headers].delete('content-encoding')
|
16
|
-
logger.debug { "Decompressed (#{env[:body].length} bytes)" }
|
17
|
-
when 'deflate'
|
18
|
-
logger.debug{ "Decompressing deflate encoded response (#{env[:body].length} bytes)" }
|
19
|
-
env[:body] = Zlib::Inflate.inflate(env[:body])
|
20
|
-
env[:response_headers].delete('content-encoding')
|
21
|
-
logger.debug { "Decompressed (#{env[:body].length} bytes)" }
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
Faraday::Response.register_middleware :gzip => Google::APIClient::Gzip
|