purl_fetcher-client 1.5.0 → 1.5.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: 233e4d6ce236ac3fe3e709a8cf53448c4359323127a9cebdba34224abc871c44
4
- data.tar.gz: cfea673eabf4c581c063e739f5a12e5fea9457abd4c4215a171ad6bff45dda41
3
+ metadata.gz: 123f98e808fb6578e4f194d380d4d1d651735dbe8c5114b40b4d2348eb729a8c
4
+ data.tar.gz: 66996f257ec6210d4bd822335b3511e9877122e6203f6818e7ed4b9284a53c6a
5
5
  SHA512:
6
- metadata.gz: 0dbcd2a66de4040e7f19a20d575cc6a6ad4e0df7f405b82fdbe4f1675300cdabf3cb31585f7173cbd4d669b142789090de88da9c3d7ba469b2fd252336ce1603
7
- data.tar.gz: 1dfd89e05103193888d7c3c46c68037d175e87f98ae3f40690ca2d8de7f892a757a656e8a2a8177ce215c8b00cb443792cb69d6df1219551c2a193354db6ba86
6
+ metadata.gz: 0a51f4a44b7b7b1bb070a7aa7f9dbe4faf8281eb5d4dd1448990104659f3ecce3ac7ce30d81aa6144579b1a801fd73a6b55bd9a7f075377e6070b2f5aa5c274b
7
+ data.tar.gz: 919bb94098bdec558dfec580bce657af55879eee46abdbedb441520f27f29557f4f583d1da8ac2446ee346f2937df80e2d980f934566bcaee973a792622f0386
@@ -11,6 +11,8 @@ class PurlFetcher::Client::Reader
11
11
  @range = {}
12
12
  end
13
13
 
14
+ # @raise [PurlFetcher::Client::NotFoundResponseError] if item is not found
15
+ # @raise [PurlFetcher::Client::ResponseError] if the response is not successful
14
16
  def collection_members(druid)
15
17
  return to_enum(:collection_members, druid) unless block_given?
16
18
 
@@ -20,6 +22,8 @@ class PurlFetcher::Client::Reader
20
22
  end
21
23
 
22
24
  # @return [Array<Hash<String,String>>] a list of hashes where the key is a digest and the value is a filepath/filename
25
+ # @raise [PurlFetcher::Client::NotFoundResponseError] if item is not found
26
+ # @raise [PurlFetcher::Client::ResponseError] if the response is not successful
23
27
  def files_by_digest(druid)
24
28
  retrieve_json("/purls/druid:#{druid.delete_prefix('druid:')}", {})
25
29
  .fetch("files_by_md5", [])
@@ -36,6 +40,7 @@ class PurlFetcher::Client::Reader
36
40
  if defined?(Honeybadger)
37
41
  Honeybadger.context({ path:, params:, response_code: response.code, body: response.body })
38
42
  end
43
+ raise PurlFetcher::Client::NotFoundResponseError, "Item not found" if response.status == 404
39
44
  raise PurlFetcher::Client::ResponseError, "Unsuccessful response from purl-fetcher"
40
45
  end
41
46
 
@@ -1,5 +1,5 @@
1
1
  module PurlFetcher
2
2
  class Client
3
- VERSION = "1.5.0"
3
+ VERSION = "1.5.1"
4
4
  end
5
5
  end
@@ -24,6 +24,9 @@ module PurlFetcher
24
24
  # Raised when the response from the server is not successful
25
25
  class ResponseError < Error; end
26
26
 
27
+ # Raised when the response from the server indicates that the requested item is not found
28
+ class NotFoundResponseError < ResponseError; end
29
+
27
30
  include Singleton
28
31
  class << self
29
32
  def configure(url:, logger: default_logger, token: nil)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: purl_fetcher-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Beer