bits_service_client 3.0.0 → 3.1.0.pre.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/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
|