metlo 0.0.2-x86_64-linux → 0.0.4-x86_64-linux
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/metlo/version.rb +1 -1
- data/lib/metlo.rb +52 -25
- data/metlo.gemspec +3 -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: 7053e3bea4b9cdce9e972d9a1d8bd3472083bd9b5854d7c65adb3b65aa07fc41
|
|
4
|
+
data.tar.gz: b9c45cf4f0ded32e1b57b03df5a6261cd51458ecffecc169d8f48d88ad310422
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b61ce747e854712c258d967077ba6dfb42413975439075015d09c0388da489f27682970b081c843b34be44821b94ca82b133878182e53737a9eda92d7be47974
|
|
7
|
+
data.tar.gz: 29485d67e1009b47d2ebfacf0a23e9bbea7c4f87ef97d27f312782eb6e726487db23cf3bc35175eac949f8eb5ff805106114566bb9a55192afa6e9b5fc8f8426
|
data/lib/metlo/version.rb
CHANGED
data/lib/metlo.rb
CHANGED
|
@@ -4,7 +4,7 @@ require_relative "./libmetlo"
|
|
|
4
4
|
|
|
5
5
|
module Metlo
|
|
6
6
|
|
|
7
|
-
class
|
|
7
|
+
class Metlo
|
|
8
8
|
|
|
9
9
|
@@MAX_RES_ITER_COUNT = 10
|
|
10
10
|
@@MAX_BODY_LENGTH = 10 * 1024
|
|
@@ -25,15 +25,32 @@ module Metlo
|
|
|
25
25
|
block_response = params[:block_response]
|
|
26
26
|
get_user = params[:get_user]
|
|
27
27
|
|
|
28
|
+
if not (log_level.nil?)
|
|
29
|
+
if not (log_level.is_a? String)
|
|
30
|
+
log_level = "info"
|
|
31
|
+
@logger = Logger.new($stdout,convert_log_level(log_level))
|
|
32
|
+
@logger.warn("log_level is not a string. log_level is expected to be one of trace, debug, info, warn, error.\nDefaulting log level to info.")
|
|
33
|
+
elsif not (@@LOG_LEVELS.include? log_level)
|
|
34
|
+
log_level = "info"
|
|
35
|
+
@logger = Logger.new($stdout,convert_log_level(log_level))
|
|
36
|
+
@logger.warn("log_level is not one of trace, debug, info, warn, error.\nDefaulting log level to info")
|
|
37
|
+
end
|
|
38
|
+
else
|
|
39
|
+
log_level = "info"
|
|
40
|
+
@logger = Logger.new($stdout,convert_log_level(log_level))
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
setup_log(@logger)
|
|
44
|
+
|
|
28
45
|
# Metlo URL
|
|
29
46
|
if not (metlo_url.is_a? String)
|
|
30
|
-
|
|
47
|
+
@logger.warn("metlo_url is not a string")
|
|
31
48
|
@disable = true
|
|
32
49
|
end
|
|
33
50
|
|
|
34
51
|
# Metlo API Key
|
|
35
52
|
if not (api_key.is_a? String)
|
|
36
|
-
|
|
53
|
+
@logger.warn("api_key is not a string")
|
|
37
54
|
@disable = true
|
|
38
55
|
end
|
|
39
56
|
|
|
@@ -41,7 +58,7 @@ module Metlo
|
|
|
41
58
|
if not (backend_port.nil?)
|
|
42
59
|
# Value is present
|
|
43
60
|
if not (backend_port.is_a? Integer)
|
|
44
|
-
|
|
61
|
+
@logger.warn("backend_port is not an integer")
|
|
45
62
|
@disable = true
|
|
46
63
|
end
|
|
47
64
|
else
|
|
@@ -56,39 +73,25 @@ module Metlo
|
|
|
56
73
|
# Collector Port
|
|
57
74
|
if not (collector_port.nil?)
|
|
58
75
|
if not (collector_port.is_a? Integer)
|
|
59
|
-
|
|
76
|
+
@logger.warn("collector_port is not an integer")
|
|
60
77
|
@disable = true
|
|
61
78
|
end
|
|
62
79
|
else
|
|
63
80
|
collector_port = 8081
|
|
64
81
|
end
|
|
65
82
|
|
|
66
|
-
if not (log_level.nil?)
|
|
67
|
-
if not (log_level.is_a? String)
|
|
68
|
-
p "log_level is not a string. log_level is expected to be one of trace, debug, info, warn, error."
|
|
69
|
-
p "Defaulting log level to info."
|
|
70
|
-
log_level = "info"
|
|
71
|
-
elsif not (@@LOG_LEVELS.include? log_level)
|
|
72
|
-
p "log_level is not one of trace, debug, info, warn, error."
|
|
73
|
-
p "Defaulting log level to info"
|
|
74
|
-
log_level = "info"
|
|
75
|
-
end
|
|
76
|
-
else
|
|
77
|
-
log_level = "info"
|
|
78
|
-
end
|
|
79
|
-
|
|
80
83
|
if not (encryption_key.nil?) and not (encryption_key.is_a? String)
|
|
81
|
-
|
|
84
|
+
@logger.warn("Encryption key is expected to be a string.")
|
|
82
85
|
encryption_key = nil
|
|
83
86
|
end
|
|
84
87
|
|
|
85
88
|
if not (block_response.nil?)
|
|
86
89
|
if not defined? block_response == "expression"
|
|
87
|
-
|
|
90
|
+
@logger.warn("block_response param is expected to be a symbol to a method/function")
|
|
88
91
|
@block_fn = method(:metlo_default_block)
|
|
89
92
|
else
|
|
90
93
|
if not(((defined? method(block_response)) == "method") and (method(block_response).arity == 1))
|
|
91
|
-
|
|
94
|
+
@logger.warn("block_response param is expected to be a method that takes a single param")
|
|
92
95
|
@block_fn = method(:metlo_default_block)
|
|
93
96
|
else
|
|
94
97
|
@block_fn = method(block_response)
|
|
@@ -101,7 +104,7 @@ module Metlo
|
|
|
101
104
|
|
|
102
105
|
if not (get_user.nil?)
|
|
103
106
|
if not (defined? get_user == "expression" and defined? method(get_user) == "method" and method(get_user).arity == 1)
|
|
104
|
-
|
|
107
|
+
@logger.warn("get_user param is expected to be a method that takes a single param env")
|
|
105
108
|
@get_user = nil
|
|
106
109
|
else
|
|
107
110
|
@get_user = method(get_user)
|
|
@@ -211,7 +214,7 @@ module Metlo
|
|
|
211
214
|
body_tmp.rewind
|
|
212
215
|
end
|
|
213
216
|
else
|
|
214
|
-
|
|
217
|
+
@logger.debug("Metlo doesn't currently handle streaming responses")
|
|
215
218
|
end
|
|
216
219
|
|
|
217
220
|
# Check response type
|
|
@@ -254,7 +257,31 @@ module Metlo
|
|
|
254
257
|
end
|
|
255
258
|
|
|
256
259
|
def metlo_default_block(env)
|
|
257
|
-
|
|
260
|
+
return [403,{},["Forbidden"]]
|
|
258
261
|
end
|
|
262
|
+
|
|
263
|
+
def setup_log(logger)
|
|
264
|
+
logger.formatter = proc do |severity, datetime, _progname, msg|
|
|
265
|
+
datefmt = datetime.strftime('%Y-%m-%dT%H:%M:%S.%6N')
|
|
266
|
+
"[timestamp=#{datefmt} level=#{severity.ljust(5)}] Metlo: #{msg}\n"
|
|
267
|
+
end
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
def convert_log_level(level)
|
|
271
|
+
if level == "trace"
|
|
272
|
+
return Logger::DEBUG
|
|
273
|
+
elsif level == "debug"
|
|
274
|
+
return Logger::DEBUG
|
|
275
|
+
elsif level == "info"
|
|
276
|
+
return Logger::INFO
|
|
277
|
+
elsif level == "warn"
|
|
278
|
+
return Logger::WARN
|
|
279
|
+
elsif level == "error"
|
|
280
|
+
return Logger::ERROR
|
|
281
|
+
else
|
|
282
|
+
return Logger::INFO
|
|
283
|
+
end
|
|
284
|
+
end
|
|
285
|
+
|
|
259
286
|
end
|
|
260
287
|
end
|
data/metlo.gemspec
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
require_relative "lib/metlo/version"
|
|
4
4
|
|
|
5
|
+
raise "RUBY_TARGET_PLATFORM env var not defined" if ENV["RUBY_TARGET_PLATFORM"].nil?
|
|
6
|
+
|
|
5
7
|
Gem::Specification.new do |spec|
|
|
6
8
|
spec.name = "metlo"
|
|
7
9
|
spec.version = Metlo::VERSION
|
|
@@ -15,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
|
15
17
|
spec.metadata["homepage_uri"] = spec.homepage
|
|
16
18
|
spec.metadata["source_code_uri"] = "https://www.github.com/metlo-labs/metlo"
|
|
17
19
|
|
|
18
|
-
spec.platform =
|
|
20
|
+
spec.platform = ENV["RUBY_TARGET_PLATFORM"]
|
|
19
21
|
|
|
20
22
|
spec.files = [
|
|
21
23
|
".standard.yml",
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: metlo
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.4
|
|
5
5
|
platform: x86_64-linux
|
|
6
6
|
authors:
|
|
7
7
|
- Metlo
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-07-
|
|
11
|
+
date: 2023-07-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: The Ruby Agent for Metlo
|
|
14
14
|
email:
|