fluent-plugin-parse_request_body 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2cc0622663b91fa8a7aede85fbdf798eacc58dbe81f18e1a21cdcef66b69c5a2
|
4
|
+
data.tar.gz: a846ee373ff8510dbd9235639da7ab4281cce7f3bfa814531728ef40f796df27
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b4c2141c17e80ec7949c68893c2bf4aca7350887b0b733ff94aac26ce70fa9941e86b8326cfda3e2d937e171ad26306689e22bc54e46f76ec65addba6f021e2d
|
7
|
+
data.tar.gz: dc52d36cc29cff81f1ca8cede224585afb969483bf52146577a95cd100d34c9d2f42af74af85674ff5c9a84c00eb8ac2281a16d7c80fe3c2073e6e201f493215
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |gem|
|
2
2
|
gem.name = 'fluent-plugin-parse_request_body'
|
3
|
-
gem.version = '0.0.
|
3
|
+
gem.version = '0.0.3'
|
4
4
|
gem.authors = ['EkiSong']
|
5
5
|
gem.email = ['yifriday0614@gmail.com']
|
6
6
|
gem.homepage = 'https://github.com/yifriday/fluent-plugin-parse_request_body.git'
|
@@ -36,6 +36,35 @@ module Fluent::Plugin
|
|
36
36
|
hash
|
37
37
|
end
|
38
38
|
end
|
39
|
+
|
40
|
+
@map = {}
|
41
|
+
# <record></record> directive
|
42
|
+
conf.elements.select { |element| element.name == 'record' }.each { |element|
|
43
|
+
element.each_pair { |k, v|
|
44
|
+
element.has_key?(k) # to suppress unread configuration warning
|
45
|
+
v = v[1..v.size-2] if quoted_value?(v)
|
46
|
+
@map[k] = v
|
47
|
+
validate_json = Proc.new {
|
48
|
+
begin
|
49
|
+
dummy_text = Yajl::Encoder.encode('dummy_text')
|
50
|
+
Yajl::Parser.parse(v.gsub(REGEXP_PLACEHOLDER_SCAN, dummy_text))
|
51
|
+
rescue Yajl::ParseError => e
|
52
|
+
message = "parse_body: failed to parse '#{v}' as json."
|
53
|
+
log.error message, error: e
|
54
|
+
raise Fluent::ConfigError, message
|
55
|
+
end
|
56
|
+
}
|
57
|
+
validate_json.call if json?(v.tr('\'"\\', ''))
|
58
|
+
}
|
59
|
+
}
|
60
|
+
end
|
61
|
+
|
62
|
+
def add_record_field(record)
|
63
|
+
return record if @map.values.first.nil?
|
64
|
+
@map.each do |record_key, value|
|
65
|
+
record[record_key] = value
|
66
|
+
end
|
67
|
+
record
|
39
68
|
end
|
40
69
|
|
41
70
|
def add_query_params_field(record)
|
@@ -86,6 +115,7 @@ module Fluent::Plugin
|
|
86
115
|
else
|
87
116
|
record[new_key] = value
|
88
117
|
end
|
118
|
+
add_record_field(record)
|
89
119
|
end
|
90
120
|
end
|
91
121
|
end
|