arvados-google-api-client 0.8.7.4 → 0.8.7.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
[![Dependency Status](https://gemnasium.com/google/google-api-ruby-client.png)](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
|