web_fetch 0.2.0 → 0.2.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: efc9744475219db51912a9786698c869c139ad85334380566124c0f42096beb9
4
- data.tar.gz: 358340a89ee0a65519dd0b0cfb7adf6e15cb0e9f1d01b6fc25351394df62ffe4
3
+ metadata.gz: 22d65c1496314f4ab5ce0f6393e6c59209ccc3dff7e13657eb574111187c9674
4
+ data.tar.gz: 172a59a513ac5073b2071cc82c6a20b8143a426e77139c12bf015d40ea558b94
5
5
  SHA512:
6
- metadata.gz: 9c341ee83a5877d1537f6e4afe992fd19b45651b694c4cb18ffa9ce7131d6fd7669eecad2b368f235f586dd0083e556ab203a7e17cf1f458d0eca444b839e619
7
- data.tar.gz: a34dc8a42298aa11ae2a4cb24ce90dfc799bed47330db04e919a595a094584ca0183840f039c5aebf1bcd81742f1e2a5cffd514502a36824c026d4d277c539f1
6
+ metadata.gz: 8c57ff4c160cd76b68a84e16ddd8cc7976041b9e6c6d675ad08d616c060577e680491a30fbc5ab1fb6215bc017dafccb6d84e0c679d5bacea871b4fbfd11f063
7
+ data.tar.gz: 61481a84084e8837d1194199ccd3454cfe659d789e1eaff559779d5286ec446ae6417baa09cae10d66f2493612fb80c90c7ec75a8f9215ce1461a8684aaf233d
@@ -33,7 +33,7 @@ module WebFetch
33
33
  def alive?
34
34
  begin
35
35
  response = get('')
36
- rescue Faraday::ConnectionFailed
36
+ rescue ClientError
37
37
  return false
38
38
  end
39
39
  return false unless response.success?
@@ -102,8 +102,8 @@ module WebFetch
102
102
 
103
103
  private
104
104
 
105
- def handle_error(errors)
106
- raise WebFetch::ClientError, errors
105
+ def handle_error(error)
106
+ raise WebFetch::ClientError, error
107
107
  end
108
108
 
109
109
  def no_request_error(uid)
@@ -12,6 +12,8 @@ module WebFetch
12
12
  request.url "/#{endpoint}"
13
13
  request.params.merge!(params)
14
14
  end
15
+ rescue Faraday::ConnectionFailed => e
16
+ raise ClientError, e.message
15
17
  end
16
18
 
17
19
  def post(endpoint, body)
@@ -20,6 +22,8 @@ module WebFetch
20
22
  request.url "/#{endpoint}"
21
23
  request.body = body
22
24
  end
25
+ rescue Faraday::ConnectionFailed => e
26
+ raise ClientError, e.message
23
27
  end
24
28
  end
25
29
  end
@@ -2,10 +2,11 @@
2
2
 
3
3
  module WebFetch
4
4
  class Error < StandardError
5
- attr_reader :errors
5
+ attr_reader :error
6
6
 
7
- def initialize(errors = nil)
8
- @errors = errors
7
+ def initialize(error)
8
+ super
9
+ @error = error
9
10
  end
10
11
  end
11
12
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WebFetch
4
- VERSION = '0.2.0'
4
+ VERSION = '0.2.1'
5
5
  end
data/spec/client_spec.rb CHANGED
@@ -25,11 +25,14 @@ describe WebFetch::Client do
25
25
  end
26
26
 
27
27
  describe '#gather' do
28
- it 'makes `gather` requests to a running server' do
29
- web_request = WebFetch::Request.new do |request|
28
+ let(:web_request) do
29
+ WebFetch::Request.new do |request|
30
30
  request.url = 'http://blah.blah/success'
31
31
  request.custom = { my_key: 'my_value' }
32
32
  end
33
+ end
34
+
35
+ it 'makes `gather` requests to a running server' do
33
36
  result = client.gather([web_request])
34
37
  expect(result.first).to be_a WebFetch::Promise
35
38
  expect(result.first.uid).to_not be_nil
@@ -39,6 +42,19 @@ describe WebFetch::Client do
39
42
  it 'passes any WebFetch server errors back to the user' do
40
43
  expect { client.gather([]) }.to raise_error WebFetch::ClientError
41
44
  end
45
+
46
+ context 'handling errors when connecting to WebFetch server' do
47
+ let(:client) { WebFetch::Client.new('localhost', 8090) }
48
+
49
+ before do
50
+ stub_request(:any, %r{http://localhost:8090})
51
+ .to_return { raise Faraday::ConnectionFailed, 'foobar' }
52
+ end
53
+
54
+ subject { proc { client.gather([web_request]) } }
55
+
56
+ it { is_expected.to raise_error WebFetch::ClientError }
57
+ end
42
58
  end
43
59
 
44
60
  describe '#fetch' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: web_fetch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bob Farrell