failbot 2.5.4 → 2.5.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/failbot.rb +15 -7
- data/lib/failbot/haystack.rb +6 -1
- data/lib/failbot/http_backend.rb +11 -2
- data/lib/failbot/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ef2b30021fd84983545c9fa374d030d9c1269d3ef51b778cf84d55fe96fde087
|
4
|
+
data.tar.gz: 998dde878c99c47177d03ff693625e05f1522009d84bf4e5f1a12a0fb398ad0e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 774ccebb4f0b04886309e32840d73f17b0278388a73aa6a15541870c791a832f68c767b140ed1d62527feff87ae880aedebf60e942946c103116103c32bda9be
|
7
|
+
data.tar.gz: 778c39eea60f8acdd0b53246401351e1373bf9386259fde67adfb86c0956baa8780fdda6afcf01f942ee6327aa8672390ec57d699e93ade429c8123b6f5ef3a6
|
data/lib/failbot.rb
CHANGED
@@ -142,6 +142,18 @@ module Failbot
|
|
142
142
|
end
|
143
143
|
|
144
144
|
populate_context_from_settings(settings)
|
145
|
+
@enable_timeout = false
|
146
|
+
if settings.key?("FAILBOT_TIMEOUT_MS")
|
147
|
+
@timeout_seconds = settings["FAILBOT_TIMEOUT_MS"].to_f / 1000
|
148
|
+
@enable_timeout = (@timeout_seconds > 0.0)
|
149
|
+
end
|
150
|
+
|
151
|
+
@connect_timeout_seconds = nil
|
152
|
+
if settings.key?("FAILBOT_CONNECT_TIMEOUT_MS")
|
153
|
+
@connect_timeout_seconds = settings["FAILBOT_CONNECT_TIMEOUT_MS"].to_f / 1000
|
154
|
+
# unset the value if it's not parsing to something valid
|
155
|
+
@connect_timeout_seconds = nil unless @connect_timeout_seconds > 0
|
156
|
+
end
|
145
157
|
|
146
158
|
self.backend =
|
147
159
|
case (name = settings["FAILBOT_BACKEND"])
|
@@ -152,7 +164,7 @@ module Failbot
|
|
152
164
|
when "file"
|
153
165
|
Failbot::FileBackend.new(settings["FAILBOT_BACKEND_FILE_PATH"])
|
154
166
|
when "http"
|
155
|
-
Failbot::HTTPBackend.new(URI(settings["FAILBOT_HAYSTACK_URL"]))
|
167
|
+
Failbot::HTTPBackend.new(URI(settings["FAILBOT_HAYSTACK_URL"]), @connect_timeout_seconds)
|
156
168
|
when 'json'
|
157
169
|
Failbot::JSONBackend.new(settings["FAILBOT_BACKEND_JSON_HOST"], settings["FAILBOT_BACKEND_JSON_PORT"])
|
158
170
|
when 'console'
|
@@ -163,11 +175,6 @@ module Failbot
|
|
163
175
|
|
164
176
|
@raise_errors = !settings["FAILBOT_RAISE"].to_s.empty?
|
165
177
|
@report_errors = settings["FAILBOT_REPORT"] != "0"
|
166
|
-
@enable_timeout = false
|
167
|
-
if settings.key?("FAILBOT_TIMEOUT_MS")
|
168
|
-
@timeout_seconds = settings["FAILBOT_TIMEOUT_MS"].to_f / 1000
|
169
|
-
@enable_timeout = (@timeout_seconds != 0.0)
|
170
|
-
end
|
171
178
|
|
172
179
|
# allows overriding the 'app' value to send to single haystack bucket.
|
173
180
|
# used primarily on ghe.io.
|
@@ -508,7 +515,8 @@ module Failbot
|
|
508
515
|
def populate_context_from_settings(settings)
|
509
516
|
settings.each do |key, value|
|
510
517
|
if /\AFAILBOT_CONTEXT_(.+)\z/ =~ key
|
511
|
-
|
518
|
+
key = $1.downcase
|
519
|
+
context[0][key] = value unless context[0][key]
|
512
520
|
end
|
513
521
|
end
|
514
522
|
end
|
data/lib/failbot/haystack.rb
CHANGED
@@ -4,8 +4,10 @@ require 'json'
|
|
4
4
|
|
5
5
|
module Failbot
|
6
6
|
class Haystack
|
7
|
-
|
7
|
+
attr_accessor :connect_timeout
|
8
|
+
def initialize(url, connect_timeout=nil)
|
8
9
|
@url = url
|
10
|
+
@connect_timeout = connect_timeout
|
9
11
|
end
|
10
12
|
|
11
13
|
def user
|
@@ -50,6 +52,9 @@ module Failbot
|
|
50
52
|
# use SSL if applicable
|
51
53
|
http.use_ssl = true if @url.scheme == "https"
|
52
54
|
|
55
|
+
# Set the connect timeout if it was provided
|
56
|
+
http.open_timeout = @connect_timeout if @connect_timeout
|
57
|
+
|
53
58
|
# push it through
|
54
59
|
http.request(request)
|
55
60
|
ensure
|
data/lib/failbot/http_backend.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
module Failbot
|
2
2
|
class HTTPBackend
|
3
|
-
def initialize(url)
|
3
|
+
def initialize(url, connect_timeout = nil)
|
4
4
|
if url.to_s.empty?
|
5
5
|
raise ArgumentError, "FAILBOT_HAYSTACK_URL setting required."
|
6
6
|
end
|
7
7
|
|
8
|
-
@
|
8
|
+
@connect_timeout = connect_timeout
|
9
|
+
@haystack = Failbot::Haystack.new(url, connect_timeout)
|
9
10
|
end
|
10
11
|
|
11
12
|
def report(data)
|
@@ -19,5 +20,13 @@ module Failbot
|
|
19
20
|
def ping
|
20
21
|
@haystack.ping
|
21
22
|
end
|
23
|
+
|
24
|
+
def connect_timeout
|
25
|
+
@haystack.connect_timeout
|
26
|
+
end
|
27
|
+
|
28
|
+
def connect_timeout=(timeout)
|
29
|
+
@haystack.connect_timeout = timeout
|
30
|
+
end
|
22
31
|
end
|
23
32
|
end
|
data/lib/failbot/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: failbot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.5.
|
4
|
+
version: 2.5.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "@rtomayko"
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2020-
|
13
|
+
date: 2020-09-03 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|