sdr-client 0.73.0 → 0.74.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sdr_client/deposit/upload_files.rb +11 -22
- data/lib/sdr_client/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e961a5a661471be38fc957cb5ee14985b94d64c47d75300ebee2bec6b5d86f01
|
4
|
+
data.tar.gz: 39bdac093eb599e91c402778605eb5164a9a72a289d56d31727e5edfee9569f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 42a8987a6836d1fbffe02517bf08114ba44595524505ba318a3a3109be2b12bc4cbb67e482a2b67d5045763d24f3192b69726632989d22bab1a140c351d67b44
|
7
|
+
data.tar.gz: 873fb15afd29b719f2f4cefe842e7109fb47f950578364a23f3772323015ed73040d1d79ab174e8ea25f7e59272a86eb3d264c26a36649c25727cee6a62f7eff
|
@@ -7,6 +7,7 @@ module SdrClient
|
|
7
7
|
# The file uploading part of a deposit
|
8
8
|
class UploadFiles
|
9
9
|
BLOB_PATH = '/v1/direct_uploads'
|
10
|
+
|
10
11
|
# @param [Hash<String,Files::DirectUploadRequest>] the metadata for uploading the files
|
11
12
|
# @param [Logger] logger the logger to use
|
12
13
|
# @param [Connection] connection
|
@@ -23,23 +24,23 @@ module SdrClient
|
|
23
24
|
@connection = connection
|
24
25
|
end
|
25
26
|
|
26
|
-
# @return [Array<
|
27
|
+
# @return [Array<Files::DirectUploadResponse>] the responses from the server for the uploads
|
27
28
|
def run
|
28
|
-
|
29
|
-
|
30
|
-
|
29
|
+
file_metadata.map do |filename, metadata|
|
30
|
+
direct_upload(metadata.to_json).tap do |response|
|
31
|
+
upload_file(filename: filename,
|
32
|
+
url: response.direct_upload.fetch('url'),
|
33
|
+
content_type: response.content_type,
|
34
|
+
content_length: response.byte_size)
|
35
|
+
logger.info("Upload of #{filename} complete")
|
36
|
+
end
|
37
|
+
end
|
31
38
|
end
|
32
39
|
|
33
40
|
private
|
34
41
|
|
35
42
|
attr_reader :logger, :connection, :file_metadata
|
36
43
|
|
37
|
-
def upload_file_metadata
|
38
|
-
file_metadata.transform_values { |metadata| direct_upload(metadata.to_json) }
|
39
|
-
end
|
40
|
-
|
41
|
-
# This creates a signed token that we can use to upload the file. This token has an expiration set in sdr-api,
|
42
|
-
# so we have to use it before it expires.
|
43
44
|
def direct_upload(metadata_json)
|
44
45
|
logger.info("Starting an upload request: #{metadata_json}")
|
45
46
|
response = connection.post(BLOB_PATH, metadata_json, 'Content-Type' => 'application/json')
|
@@ -56,18 +57,6 @@ module SdrClient
|
|
56
57
|
raise "unexpected response: #{response.inspect}"
|
57
58
|
end
|
58
59
|
|
59
|
-
# @param [Hash<String,Files::DirectUploadResponse>] upload_responses the filenames and their upload response
|
60
|
-
def upload_files(upload_responses)
|
61
|
-
upload_responses.each do |filename, response|
|
62
|
-
upload_file(filename: filename,
|
63
|
-
url: response.direct_upload.fetch('url'),
|
64
|
-
content_type: response.content_type,
|
65
|
-
content_length: response.byte_size)
|
66
|
-
|
67
|
-
logger.info('Upload complete')
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
60
|
def upload_file(filename:, url:, content_type:, content_length:)
|
72
61
|
logger.info("Uploading `#{filename}' to #{url}")
|
73
62
|
|
data/lib/sdr_client/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sdr-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.74.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Coyne
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-03-
|
11
|
+
date: 2022-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -256,7 +256,7 @@ metadata:
|
|
256
256
|
source_code_uri: https://github.com/sul-dlss/sdr-client
|
257
257
|
changelog_uri: https://github.com/sul-dlss/sdr-client/releases
|
258
258
|
rubygems_mfa_required: 'true'
|
259
|
-
post_install_message:
|
259
|
+
post_install_message:
|
260
260
|
rdoc_options: []
|
261
261
|
require_paths:
|
262
262
|
- lib
|
@@ -271,8 +271,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
271
271
|
- !ruby/object:Gem::Version
|
272
272
|
version: '0'
|
273
273
|
requirements: []
|
274
|
-
rubygems_version: 3.
|
275
|
-
signing_key:
|
274
|
+
rubygems_version: 3.2.32
|
275
|
+
signing_key:
|
276
276
|
specification_version: 4
|
277
277
|
summary: The CLI for https://github.com/sul-dlss/sdr-api
|
278
278
|
test_files: []
|