bits_service_client 3.0.0 → 3.1.0.pre.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/bits_service_client/client.rb +30 -1
- data/lib/bits_service_client/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36c579d11e320d6830b9b0807fe317c789f141e0
|
4
|
+
data.tar.gz: 00fdeb4d73f389bd3496ea13bb63cebb55a589fe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 42cf583b2c1e53c366d1b6056c5a3a1608641d96082e67ddcba91e2dca8e2219e6b5ea3093c3ca176967874d96f8dab9321d94637e0c1f381111eb7e43300916
|
7
|
+
data.tar.gz: 03b2046aad0bbc31cd19330bb1c3f21a86f10bd6611472694dbf521acb74f76cc8e22b719cdd425cb092dc97d118e872bf9ad6173f0d631e6c4f83fcfccf9047
|
@@ -32,12 +32,29 @@ module BitsService
|
|
32
32
|
response.code.to_i != 404
|
33
33
|
end
|
34
34
|
|
35
|
-
def cp_to_blobstore(source_path, destination_key)
|
35
|
+
def cp_to_blobstore(source_path, destination_key, resources: nil)
|
36
36
|
filename = File.basename(source_path)
|
37
37
|
with_file_attachment!(source_path, filename) do |file_attachment|
|
38
38
|
body = { :"#{@resource_type.to_s.singularize}" => file_attachment }
|
39
|
+
|
40
|
+
if resources != nil
|
41
|
+
body[:resources] = resources.to_json
|
42
|
+
end
|
43
|
+
|
39
44
|
response = @private_http_client.do_request(Net::HTTP::Put::Multipart.new(resource_path(destination_key), body), @vcap_request_id)
|
40
45
|
validate_response_code!(201, response)
|
46
|
+
if response.body == nil
|
47
|
+
logger.error("UnexpectedMissingBody: expected body with json payload. Got empty body.")
|
48
|
+
|
49
|
+
fail BlobstoreError.new({
|
50
|
+
response_code: response.code,
|
51
|
+
response_body: response.body,
|
52
|
+
response: response
|
53
|
+
}.to_json)
|
54
|
+
end
|
55
|
+
shas = JSON.parse(response.body, symbolize_names: true)
|
56
|
+
validate_keys_present!([:sha1, :sha256], shas, response)
|
57
|
+
return shas
|
41
58
|
end
|
42
59
|
end
|
43
60
|
|
@@ -170,6 +187,18 @@ module BitsService
|
|
170
187
|
fail BlobstoreError.new(error)
|
171
188
|
end
|
172
189
|
|
190
|
+
def validate_keys_present!(expected_keys, map, response)
|
191
|
+
return if expected_keys.all? { |expected_key| map.keys.include?(expected_key) }
|
192
|
+
|
193
|
+
logger.error("UnexpectedResponseBody: expected json with keys '#{expected_keys}'. Got #{map}")
|
194
|
+
|
195
|
+
fail BlobstoreError.new({
|
196
|
+
response_code: response.code,
|
197
|
+
response_body: response.body,
|
198
|
+
response: response
|
199
|
+
}.to_json)
|
200
|
+
end
|
201
|
+
|
173
202
|
def resource_path(guid)
|
174
203
|
prefix = resource_type == :buildpack_cache ? 'buildpack_cache/entries/' : resource_type
|
175
204
|
File.join('/', prefix.to_s, guid.to_s)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bits_service_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.1.0.pre.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rizwan Reza
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2018-07-
|
14
|
+
date: 2018-07-17 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: activesupport
|
@@ -195,9 +195,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
195
195
|
version: '0'
|
196
196
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
197
197
|
requirements:
|
198
|
-
- - "
|
198
|
+
- - ">"
|
199
199
|
- !ruby/object:Gem::Version
|
200
|
-
version:
|
200
|
+
version: 1.3.1
|
201
201
|
requirements: []
|
202
202
|
rubyforge_project:
|
203
203
|
rubygems_version: 2.6.14.1
|