preservation-client 7.0.0 → 7.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9ea7074b6f7968d89b5fad106ff66fe8d15b5fa1d9995396bcafb05c348bb764
4
- data.tar.gz: 0b724aabce34538335e7e1ec55fe62ad799d7d3c97c49e6e980f597ca3c05161
3
+ metadata.gz: c80fea134e78418410a157f1d05d2c1fe5ab4651f5d5db2f44d5b7ae2ec9171d
4
+ data.tar.gz: c569af575448f9ae1f23e3810159ecda3e8c5089e6f10c3f35e69af3e63f64ea
5
5
  SHA512:
6
- metadata.gz: 0435faf772dfec04d6c53c9a9c7bf5700598b1bc0b9bbb77497bb65e2e81c819474ff421cfeef5bcbcb24bafe1436546513424e1e0f81e49432bd57fd56efd35
7
- data.tar.gz: 403420c16c0f3224fe64b5a70c5ae1e80f4e80470a6a93e392abb375a8de60acced13630ebf51a49ea118874a73b101217cef8076a50ff61e7385340846f457f
6
+ metadata.gz: d748a24a0cedea152322ece89273ee8e10131bd97884d49ab87d3e09ecf47fd30b295498aed3813d90906d9b0aff2f9ed43b81995df646489a113e2eec404a45
7
+ data.tar.gz: 1cba48166d80175dc0dbdcab7f5aefeb606fefa98391ff377071c361c6e4e1514cc21ef04c6ef8e78540e1e069c787aec9dfb7380c31cd57f1a5e0f71d0686c4
data/.circleci/config.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  version: 2.1
2
2
  orbs:
3
- ruby-rails: sul-dlss/ruby-rails@4.1.0
3
+ ruby-rails: sul-dlss/ruby-rails@4.2.2
4
4
  workflows:
5
5
  build:
6
6
  jobs:
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- preservation-client (7.0.0)
4
+ preservation-client (7.0.1)
5
5
  activesupport (>= 4.2, < 8)
6
6
  faraday (~> 2.0)
7
7
  moab-versioning (>= 5.0.0, < 7)
@@ -10,47 +10,64 @@ PATH
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- activesupport (7.0.7.2)
14
- concurrent-ruby (~> 1.0, >= 1.0.2)
13
+ activesupport (7.2.1.1)
14
+ base64
15
+ bigdecimal
16
+ concurrent-ruby (~> 1.0, >= 1.3.1)
17
+ connection_pool (>= 2.2.5)
18
+ drb
15
19
  i18n (>= 1.6, < 2)
20
+ logger (>= 1.4.2)
16
21
  minitest (>= 5.1)
17
- tzinfo (~> 2.0)
18
- addressable (2.8.5)
19
- public_suffix (>= 2.0.2, < 6.0)
22
+ securerandom (>= 0.3)
23
+ tzinfo (~> 2.0, >= 2.0.5)
24
+ addressable (2.8.7)
25
+ public_suffix (>= 2.0.2, < 7.0)
20
26
  ast (2.4.2)
21
- base64 (0.1.1)
27
+ base64 (0.2.0)
28
+ bigdecimal (3.1.8)
22
29
  byebug (11.1.3)
23
30
  coderay (1.1.3)
24
- concurrent-ruby (1.2.2)
25
- crack (0.4.5)
31
+ concurrent-ruby (1.3.4)
32
+ connection_pool (2.4.1)
33
+ crack (1.0.0)
34
+ bigdecimal
26
35
  rexml
27
- diff-lcs (1.5.0)
28
- docile (1.4.0)
36
+ diff-lcs (1.5.1)
37
+ docile (1.4.1)
38
+ drb (2.2.1)
29
39
  druid-tools (3.0.0)
30
- faraday (2.7.10)
31
- faraday-net_http (>= 2.0, < 3.1)
32
- ruby2_keywords (>= 0.0.4)
33
- faraday-net_http (3.0.2)
34
- hashdiff (1.0.1)
35
- i18n (1.14.1)
40
+ faraday (2.12.0)
41
+ faraday-net_http (>= 2.0, < 3.4)
42
+ json
43
+ logger
44
+ faraday-net_http (3.3.0)
45
+ net-http
46
+ hashdiff (1.1.1)
47
+ i18n (1.14.6)
36
48
  concurrent-ruby (~> 1.0)
37
- json (2.6.3)
49
+ json (2.7.2)
38
50
  language_server-protocol (3.17.0.3)
39
- method_source (1.0.0)
40
- minitest (5.19.0)
51
+ logger (1.6.1)
52
+ method_source (1.1.0)
53
+ minitest (5.25.1)
41
54
  moab-versioning (6.1.0)
42
55
  druid-tools (>= 1.0.0)
43
56
  json
44
57
  nokogiri
45
58
  nokogiri-happymapper
46
- nokogiri (1.15.4-x86_64-darwin)
59
+ net-http (0.4.1)
60
+ uri
61
+ nokogiri (1.16.7-arm64-darwin)
62
+ racc (~> 1.4)
63
+ nokogiri (1.16.7-x86_64-darwin)
47
64
  racc (~> 1.4)
48
- nokogiri (1.15.4-x86_64-linux)
65
+ nokogiri (1.16.7-x86_64-linux)
49
66
  racc (~> 1.4)
50
- nokogiri-happymapper (0.9.0)
67
+ nokogiri-happymapper (0.10.0)
51
68
  nokogiri (~> 1.5)
52
- parallel (1.23.0)
53
- parser (3.2.2.3)
69
+ parallel (1.26.3)
70
+ parser (3.3.5.0)
54
71
  ast (~> 2.4.1)
55
72
  racc
56
73
  pry (0.14.2)
@@ -59,67 +76,70 @@ GEM
59
76
  pry-byebug (3.10.1)
60
77
  byebug (~> 11.0)
61
78
  pry (>= 0.13, < 0.15)
62
- public_suffix (5.0.3)
63
- racc (1.7.1)
79
+ public_suffix (6.0.1)
80
+ racc (1.8.1)
64
81
  rainbow (3.1.1)
65
- rake (13.0.6)
66
- regexp_parser (2.8.1)
67
- rexml (3.2.6)
68
- rspec (3.12.0)
69
- rspec-core (~> 3.12.0)
70
- rspec-expectations (~> 3.12.0)
71
- rspec-mocks (~> 3.12.0)
72
- rspec-core (3.12.2)
73
- rspec-support (~> 3.12.0)
74
- rspec-expectations (3.12.3)
82
+ rake (13.2.1)
83
+ regexp_parser (2.9.2)
84
+ rexml (3.3.8)
85
+ rspec (3.13.0)
86
+ rspec-core (~> 3.13.0)
87
+ rspec-expectations (~> 3.13.0)
88
+ rspec-mocks (~> 3.13.0)
89
+ rspec-core (3.13.2)
90
+ rspec-support (~> 3.13.0)
91
+ rspec-expectations (3.13.3)
75
92
  diff-lcs (>= 1.2.0, < 2.0)
76
- rspec-support (~> 3.12.0)
77
- rspec-mocks (3.12.6)
93
+ rspec-support (~> 3.13.0)
94
+ rspec-mocks (3.13.2)
78
95
  diff-lcs (>= 1.2.0, < 2.0)
79
- rspec-support (~> 3.12.0)
80
- rspec-support (3.12.1)
81
- rubocop (1.56.1)
82
- base64 (~> 0.1.1)
96
+ rspec-support (~> 3.13.0)
97
+ rspec-support (3.13.1)
98
+ rubocop (1.67.0)
83
99
  json (~> 2.3)
84
100
  language_server-protocol (>= 3.17.0)
85
101
  parallel (~> 1.10)
86
- parser (>= 3.2.2.3)
102
+ parser (>= 3.3.0.2)
87
103
  rainbow (>= 2.2.2, < 4.0)
88
- regexp_parser (>= 1.8, < 3.0)
89
- rexml (>= 3.2.5, < 4.0)
90
- rubocop-ast (>= 1.28.1, < 2.0)
104
+ regexp_parser (>= 2.4, < 3.0)
105
+ rubocop-ast (>= 1.32.2, < 2.0)
91
106
  ruby-progressbar (~> 1.7)
92
107
  unicode-display_width (>= 2.4.0, < 3.0)
93
- rubocop-ast (1.29.0)
94
- parser (>= 3.2.1.0)
95
- rubocop-capybara (2.18.0)
108
+ rubocop-ast (1.32.3)
109
+ parser (>= 3.3.1.0)
110
+ rubocop-capybara (2.21.0)
96
111
  rubocop (~> 1.41)
97
- rubocop-factory_bot (2.23.1)
98
- rubocop (~> 1.33)
112
+ rubocop-factory_bot (2.26.1)
113
+ rubocop (~> 1.61)
99
114
  rubocop-rake (0.6.0)
100
115
  rubocop (~> 1.0)
101
- rubocop-rspec (2.23.2)
102
- rubocop (~> 1.33)
116
+ rubocop-rspec (2.31.0)
117
+ rubocop (~> 1.40)
103
118
  rubocop-capybara (~> 2.17)
104
119
  rubocop-factory_bot (~> 2.22)
120
+ rubocop-rspec_rails (~> 2.28)
121
+ rubocop-rspec_rails (2.29.1)
122
+ rubocop (~> 1.61)
105
123
  ruby-progressbar (1.13.0)
106
- ruby2_keywords (0.0.5)
124
+ securerandom (0.3.1)
107
125
  simplecov (0.22.0)
108
126
  docile (~> 1.1)
109
127
  simplecov-html (~> 0.11)
110
128
  simplecov_json_formatter (~> 0.1)
111
- simplecov-html (0.12.3)
129
+ simplecov-html (0.13.1)
112
130
  simplecov_json_formatter (0.1.4)
113
131
  tzinfo (2.0.6)
114
132
  concurrent-ruby (~> 1.0)
115
- unicode-display_width (2.4.2)
116
- webmock (3.19.0)
133
+ unicode-display_width (2.6.0)
134
+ uri (0.13.1)
135
+ webmock (3.24.0)
117
136
  addressable (>= 2.8.0)
118
137
  crack (>= 0.3.2)
119
138
  hashdiff (>= 0.4.0, < 2.0.0)
120
- zeitwerk (2.6.11)
139
+ zeitwerk (2.7.1)
121
140
 
122
141
  PLATFORMS
142
+ arm64-darwin-23
123
143
  x86_64-darwin-19
124
144
  x86_64-darwin-20
125
145
  x86_64-darwin-21
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Preservation
4
4
  class Client
5
- VERSION = '7.0.0'
5
+ VERSION = '7.0.1'
6
6
  end
7
7
  end
@@ -41,8 +41,16 @@ module Preservation
41
41
  def get(path, params, on_data:)
42
42
  return http_response(:get, path, params) unless on_data
43
43
 
44
+ req_url = "#{api_version}/#{path}"
44
45
  connection.get("#{api_version}/#{path}", params) do |req|
45
- req.options.on_data = on_data
46
+ req.options.on_data = proc do |chunk, size, env|
47
+ if env.status >= 300
48
+ errmsg = "Preservation::Client.#{caller_locations.first.label} " \
49
+ "got #{env.status} from Preservation at #{req_url}"
50
+ raise http_exception_class(env.status), errmsg
51
+ end
52
+ on_data.call(chunk, size, env)
53
+ end
46
54
  end
47
55
  end
48
56
 
@@ -101,6 +109,8 @@ module Preservation
101
109
  # @param status_code [Integer] the HTTP status code to translate to an exception class
102
110
  def http_exception_class(status_code)
103
111
  case status_code
112
+ when 404
113
+ NotFoundError
104
114
  when 423
105
115
  LockedError
106
116
  when 409
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: preservation-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.0
4
+ version: 7.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Naomi Dushay
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-01 00:00:00.000000000 Z
11
+ date: 2024-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -255,7 +255,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
255
255
  - !ruby/object:Gem::Version
256
256
  version: '0'
257
257
  requirements: []
258
- rubygems_version: 3.3.7
258
+ rubygems_version: 3.5.11
259
259
  signing_key:
260
260
  specification_version: 4
261
261
  summary: A thin client for getting info from SDR preservation.