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 +4 -4
- data/lib/web_fetch/client.rb +3 -3
- data/lib/web_fetch/concerns/client_http.rb +4 -0
- data/lib/web_fetch/errors.rb +4 -3
- data/lib/web_fetch/version.rb +1 -1
- data/spec/client_spec.rb +18 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22d65c1496314f4ab5ce0f6393e6c59209ccc3dff7e13657eb574111187c9674
|
4
|
+
data.tar.gz: 172a59a513ac5073b2071cc82c6a20b8143a426e77139c12bf015d40ea558b94
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c57ff4c160cd76b68a84e16ddd8cc7976041b9e6c6d675ad08d616c060577e680491a30fbc5ab1fb6215bc017dafccb6d84e0c679d5bacea871b4fbfd11f063
|
7
|
+
data.tar.gz: 61481a84084e8837d1194199ccd3454cfe659d789e1eaff559779d5286ec446ae6417baa09cae10d66f2493612fb80c90c7ec75a8f9215ce1461a8684aaf233d
|
data/lib/web_fetch/client.rb
CHANGED
@@ -33,7 +33,7 @@ module WebFetch
|
|
33
33
|
def alive?
|
34
34
|
begin
|
35
35
|
response = get('')
|
36
|
-
rescue
|
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(
|
106
|
-
raise WebFetch::ClientError,
|
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
|
data/lib/web_fetch/errors.rb
CHANGED
data/lib/web_fetch/version.rb
CHANGED
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
|
-
|
29
|
-
|
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
|