fluent-plugin-parse_request_body 0.0.22 → 0.0.23
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 98f8ceed9a0b3569b27010a747fb9c05f2c235538df3cbbca95cf30ea81cf1eb
|
4
|
+
data.tar.gz: ed1e96969458936b4e9fda28163114e041cbee3ec98275b9879e0c721a86a0f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fdb3b41404baaac32ec32d2d6d8ff16d75e0eca73c5acfc02e6053cd2acf43a931d82d6d3c71dfd26c861641627658e30febae2aed5fcabc297c55e2b80234e5
|
7
|
+
data.tar.gz: ad45fdc9f323f24d8b5b953f80ec9bf72287076fb50e99b4cbb497097ccc52f2dbd80e5f7e8a6868b404a4f7c10168684fe8b7967a6848838f93d9bbce6cc231
|
@@ -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.23'
|
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'
|
@@ -4,33 +4,44 @@ require "fluent/plugin/parse_request_body_extractor"
|
|
4
4
|
module Fluent::Plugin
|
5
5
|
class ParseRequestBodyFilter < Fluent::Plugin::Filter
|
6
6
|
|
7
|
+
#注册filter名称#
|
7
8
|
Fluent::Plugin.register_filter('parse_request_body', self)
|
8
9
|
|
10
|
+
#request body在record中所对应的key#
|
9
11
|
desc "point a key whose value contains body string."
|
10
12
|
config_param :key, :string
|
13
|
+
#需要使用array_value替换数据的key#
|
11
14
|
desc "point a key who will be replaced."
|
12
15
|
config_param :replace_key, :string, default: nil
|
16
|
+
#需要被组合在一起的数据名称#
|
13
17
|
desc "If set, the key/value will be reformd array whose would be added to the record."
|
14
18
|
config_param :array_value, :string, default: nil
|
19
|
+
#最终组合数据在record中的key#
|
15
20
|
desc "array_value's key in record"
|
16
21
|
config_param :array_value_key, :string, default: nil
|
22
|
+
#request body解析数据白名单#
|
17
23
|
desc "If set, only the key/value whose key is included only will be added to the record."
|
18
24
|
config_param :only, :string, default: nil
|
25
|
+
#request body解析数据黑名单#
|
19
26
|
desc "If set, the key/value whose key is included except will NOT be added to the record."
|
20
27
|
config_param :except, :string, default: nil
|
28
|
+
#是否只保留最终解析出来的数据,而删除request body原数据#
|
21
29
|
desc "If set to true, the original key url will be discarded from the record."
|
22
30
|
config_param :discard_key, :bool, default: false
|
31
|
+
#给解析出的数据key添加前缀#
|
23
32
|
desc "Prefix of fields."
|
24
33
|
config_param :add_field_prefix, :string, default: nil
|
34
|
+
#是否允许解析空key#
|
25
35
|
desc "If set to true, permit blank key."
|
26
36
|
config_param :permit_blank_key, :bool, default: false
|
27
37
|
|
28
|
-
|
38
|
+
#初始化解析器#
|
29
39
|
def configure(conf)
|
30
40
|
super
|
31
41
|
@extractor = Fluent::Plugin::ParseRequestBodyExtractor.new(self, conf)
|
32
42
|
end
|
33
43
|
|
44
|
+
#执行解析工作#
|
34
45
|
def filter(tag, time, record)
|
35
46
|
@extractor.add_query_params_field(record)
|
36
47
|
end
|
@@ -5,29 +5,40 @@ module Fluent::Plugin
|
|
5
5
|
class ParseRequestBodyOutput < Fluent::Plugin::Output
|
6
6
|
include Fluent::HandleTagNameMixin
|
7
7
|
|
8
|
+
#注册output名称#
|
8
9
|
Fluent::Plugin.register_output('parse_request_body', self)
|
9
10
|
|
10
11
|
helpers :event_emitter
|
11
12
|
|
13
|
+
#request body在record中所对应的key#
|
12
14
|
desc "point a key whose value contains body string."
|
13
15
|
config_param :key, :string
|
16
|
+
#需要使用array_value替换数据的key#
|
14
17
|
desc "point a key who will be replaced."
|
15
18
|
config_param :replace_key, :string, default: nil
|
19
|
+
#需要被组合在一起的数据名称#
|
16
20
|
desc "If set, the key/value will be reformd array whose would be added to the record."
|
17
21
|
config_param :array_value, :string, default: nil
|
22
|
+
#最终组合数据在record中的key#
|
18
23
|
desc "array_value's key in record"
|
19
24
|
config_param :array_value_key, :string, default: nil
|
25
|
+
#request body解析数据白名单#
|
20
26
|
desc "If set, only the key/value whose key is included only will be added to the record."
|
21
27
|
config_param :only, :string, default: nil
|
28
|
+
#request body解析数据黑名单#
|
22
29
|
desc "If set, the key/value whose key is included except will NOT be added to the record."
|
23
30
|
config_param :except, :string, default: nil
|
31
|
+
#是否只保留最终解析出来的数据,而删除request body原数据#
|
24
32
|
desc "If set to true, the original key url will be discarded from the record."
|
25
33
|
config_param :discard_key, :bool, default: false
|
34
|
+
#给解析出的数据key添加前缀#
|
26
35
|
desc "Prefix of fields."
|
27
36
|
config_param :add_field_prefix, :string, default: nil
|
37
|
+
#是否允许解析空key#
|
28
38
|
desc "If set to true, permit blank key."
|
29
39
|
config_param :permit_blank_key, :bool, default: false
|
30
40
|
|
41
|
+
#初始化解析器#
|
31
42
|
def configure(conf)
|
32
43
|
super
|
33
44
|
@extractor = Fluent::Plugin::ParseRequestBodyExtractor.new(self, conf)
|
@@ -37,6 +48,7 @@ module Fluent::Plugin
|
|
37
48
|
true
|
38
49
|
end
|
39
50
|
|
51
|
+
#执行解析工作#
|
40
52
|
def filter_record(tag, time, record)
|
41
53
|
record = @extractor.add_query_params_field(record)
|
42
54
|
super(tag, time, record)
|
@@ -104,7 +104,7 @@ module Fluent::Plugin
|
|
104
104
|
|
105
105
|
def add_query_params(body, record)
|
106
106
|
return if body.nil?
|
107
|
-
|
107
|
+
keyCcount = 0
|
108
108
|
body.split('&').each do |pair|
|
109
109
|
key, value = pair.split('=', 2).map { |i| CGI.unescape(i) }
|
110
110
|
next if (key.nil? || key.empty?) && (!permit_blank_key? || value.nil? || value.empty?)
|
@@ -121,12 +121,13 @@ module Fluent::Plugin
|
|
121
121
|
end
|
122
122
|
|
123
123
|
if @include_array_value && @include_array_value.has_key?(key) && (value.to_f != 0)
|
124
|
-
|
124
|
+
@include_array_value.key(key) = value.to_f
|
125
|
+
keyCcount += 1
|
125
126
|
end
|
126
127
|
end
|
127
128
|
|
128
|
-
|
129
|
-
record[@array_value_key] =
|
129
|
+
if @include_array_value.length == keyCcount
|
130
|
+
record[@array_value_key] = @include_array_value.value
|
130
131
|
end
|
131
132
|
end
|
132
133
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-parse_request_body
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.23
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- EkiSong
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-11-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|