fluent-plugin-uri-parser 0.1.0 → 0.2.0

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
  SHA1:
3
- metadata.gz: 8c660e74ab27100de590c485ce3565683beec95e
4
- data.tar.gz: c3b0b9ff23d8a99804adefd4053d8cbe18694a93
3
+ metadata.gz: ca8305ee24a2e6cb6f9e584bbfe9180b9a5e5f61
4
+ data.tar.gz: 998606363d7b454619e4c85280cf08baffbb2db5
5
5
  SHA512:
6
- metadata.gz: b776ac7205ed56dd317f16adde63bbfc20bf8d9e33d7e402620efd6a3244120c5e7fefddfdeda7c6c5ca9e191ec1cc64221103d34c0b0018445e1f2d89bc7fd8
7
- data.tar.gz: 4e7d5f7b2e3d31dc07d788d728183e54d15e15995173949333fb169640e7899a2c0b7caab89e03811d41f5058c37189caa7df00f2a74f667e5c737c4acaf53cc
6
+ metadata.gz: 5cb8a7a3ed3fbdeedbb27e48be3f4920ea83be77d728ea97c09f91fdcd0ea20b268b23f15c82a6960bde51952334f5583a3ce00c85ed72a5b55e4cdce48b92a3
7
+ data.tar.gz: '09b772fdf401769fc2c122102e64e3d1a1dfd655356d1b16ad6d374c8f01cb6f70b315aa15fc1dd281408afb4c2a13f437f5bf8c087866690ccb18192ea7fdf2'
data/README.md CHANGED
@@ -89,6 +89,11 @@ If set to `true`, if the field specified by `key_name` does not exist, the recor
89
89
 
90
90
  If set to `true`, exclude key if the value after parse is nil.
91
91
 
92
+ **multi_value_params (Default: false)**
93
+
94
+ If set to `true`, then resulting values would be arrays containing
95
+ potentially multiple values of a given parameter.
96
+
92
97
  ## Development
93
98
 
94
99
  After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "fluent-plugin-uri-parser"
7
- spec.version = "0.1.0"
7
+ spec.version = "0.2.0"
8
8
  spec.authors = ["Daichi HIRATA"]
9
9
  spec.email = ["bunny.hop.md@gmail.com"]
10
10
  spec.license = "Apache-2.0"
@@ -6,6 +6,7 @@ class Fluent::QueryStringParserFilter < Fluent::Filter
6
6
  config_param :inject_key_prefix, :string, default: nil
7
7
  config_param :suppress_parse_error_log, :bool, default: false
8
8
  config_param :ignore_key_not_exist, :bool, default: false
9
+ config_param :multi_value_params, :bool, default: false
9
10
 
10
11
  def initialize
11
12
  super
@@ -23,9 +24,17 @@ class Fluent::QueryStringParserFilter < Fluent::Filter
23
24
  end
24
25
 
25
26
  begin
26
- values = Hash[URI.decode_www_form(raw_value)]
27
+ params = URI.decode_www_form(raw_value)
27
28
 
28
- unless values.empty?
29
+ unless params.empty?
30
+
31
+ if @multi_value_params
32
+ values = Hash.new {|h,k| h[k] = [] }
33
+ params.each{|pair| values[pair[0]].push(pair[1])}
34
+ else
35
+ values = Hash[params]
36
+ end
37
+
29
38
  if @inject_key_prefix
30
39
  values = Hash[values.map{|k,v| [ @inject_key_prefix + k, v ]}]
31
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-uri-parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daichi HIRATA
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-16 00:00:00.000000000 Z
11
+ date: 2017-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -116,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
116
  version: '0'
117
117
  requirements: []
118
118
  rubyforge_project:
119
- rubygems_version: 2.5.1
119
+ rubygems_version: 2.6.11
120
120
  signing_key:
121
121
  specification_version: 4
122
122
  summary: This is a Fluentd plugin to parse uri and query string in log messages.