crabfarm 0.7.1 → 0.7.2
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/crabfarm/errors.rb +7 -25
- data/lib/crabfarm/modes/server.rb +19 -2
- data/lib/crabfarm/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2cd329fb207d26d0ce84b7d9a245c9555032f72d
|
4
|
+
data.tar.gz: a50a7c709070a8d1a1ff1528c28c03502b75ae9b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 97697da5b22796d930e8db64269ad94e6205c729637f623bcd3d64331f7936200807b73873c93d5bbddc5c9c5b066dc5df85c8a191a0b4f82fa64c2cbb3ef19c
|
7
|
+
data.tar.gz: c9418e6a5ad1d64871bb88763c5980da97fc6a6d0ce91d99ec69ffed994c35d950240a52448c9be9b6ef4876980a4b65ea5bd9db9b24d2c12a5de780fda45e27
|
data/lib/crabfarm/errors.rb
CHANGED
@@ -23,37 +23,19 @@ module Crabfarm
|
|
23
23
|
|
24
24
|
class ResourceNotFoundError < Crabfarm::Error; end
|
25
25
|
|
26
|
-
class
|
27
|
-
def code; 500 end
|
28
|
-
def to_json; {} end
|
29
|
-
end
|
30
|
-
|
31
|
-
class StillWorkingError < ApiError
|
32
|
-
def code; 409 end
|
33
|
-
end
|
26
|
+
class StillWorkingError < Error; end
|
34
27
|
|
35
|
-
class TimeoutError <
|
36
|
-
def code; 408 end
|
37
|
-
end
|
28
|
+
class TimeoutError < Error; end
|
38
29
|
|
39
|
-
class
|
40
|
-
def initialize(_msg, _trace)
|
41
|
-
@exc = _msg
|
42
|
-
@trace = _trace
|
43
|
-
end
|
30
|
+
class CrawlerError < Error
|
44
31
|
|
45
|
-
|
46
|
-
{
|
47
|
-
exception: @exc,
|
48
|
-
backtrace: @trace
|
49
|
-
}.to_json
|
50
|
-
end
|
51
|
-
end
|
32
|
+
attr_reader :original
|
52
33
|
|
53
|
-
class CrawlerError < CrawlerBaseError
|
54
34
|
def initialize(_exc)
|
55
|
-
super
|
35
|
+
super
|
36
|
+
@original = _exc
|
56
37
|
end
|
38
|
+
|
57
39
|
end
|
58
40
|
|
59
41
|
class LiveInterrupted < StandardError; end
|
@@ -17,8 +17,25 @@ module Crabfarm
|
|
17
17
|
rack_response({ errors: e }.to_json, 400)
|
18
18
|
end
|
19
19
|
|
20
|
-
rescue_from Crabfarm::
|
21
|
-
rack_response(
|
20
|
+
rescue_from Crabfarm::TimeoutError do |e|
|
21
|
+
rack_response('{}', 408)
|
22
|
+
end
|
23
|
+
|
24
|
+
rescue_from Crabfarm::StillWorkingError do |e|
|
25
|
+
rack_response('{}', 409)
|
26
|
+
end
|
27
|
+
|
28
|
+
rescue_from Crabfarm::CrawlerError do |e|
|
29
|
+
message = "#{e.original.message} (#{e.original.class.to_s})"
|
30
|
+
backtrace = e.original.backtrace.take_while { |t| !t.include? '/lib/crabfarm/' }
|
31
|
+
backtrace = e.original.backtrace if backtrace.count == 0
|
32
|
+
|
33
|
+
body = {
|
34
|
+
exception: message,
|
35
|
+
backtrace: backtrace
|
36
|
+
}
|
37
|
+
|
38
|
+
rack_response(body.to_json, 500)
|
22
39
|
end
|
23
40
|
|
24
41
|
helpers do
|
data/lib/crabfarm/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crabfarm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ignacio Baixas
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|