fluent-plugin-extract_query_params 0.0.1 → 0.0.2
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.
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |gem|
|
2
2
|
gem.name = 'fluent-plugin-extract_query_params'
|
3
|
-
gem.version = '0.0.
|
3
|
+
gem.version = '0.0.2'
|
4
4
|
gem.authors = ['Kentaro Kuribayashi']
|
5
5
|
gem.email = ['kentarok@gmail.com']
|
6
6
|
gem.homepage = 'http://github.com/kentaro/fluent-plugin-extract_query_params'
|
@@ -34,8 +34,9 @@ module Fluent
|
|
34
34
|
|
35
35
|
def emit(tag, es, chain)
|
36
36
|
es.each do |time, record|
|
37
|
-
|
38
|
-
|
37
|
+
t = tag.dup
|
38
|
+
filter_record(t, time, record)
|
39
|
+
Engine.emit(t, time, record)
|
39
40
|
end
|
40
41
|
|
41
42
|
chain.next
|
@@ -45,15 +46,17 @@ module Fluent
|
|
45
46
|
if record[key]
|
46
47
|
begin
|
47
48
|
url = URI.parse(record[key])
|
48
|
-
url.query.
|
49
|
-
|
49
|
+
unless url.query.nil?
|
50
|
+
url.query.split('&').each do |pair|
|
51
|
+
key, value = pair.split('=').map { |i| URI.unescape(i) }
|
50
52
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
53
|
+
if only
|
54
|
+
record[key] = value if @include_keys.has_key?(key)
|
55
|
+
elsif except
|
56
|
+
record[key] = value if !@exclude_keys.has_key?(key)
|
57
|
+
else
|
58
|
+
record[key] = value
|
59
|
+
end
|
57
60
|
end
|
58
61
|
end
|
59
62
|
rescue URI::InvalidURIError => error
|
@@ -102,6 +102,29 @@ class ExtractQueryParamsOutputTest < Test::Unit::TestCase
|
|
102
102
|
assert_equal 'qux', emits[0][2]['baz']
|
103
103
|
end
|
104
104
|
|
105
|
+
def test_emit_multi
|
106
|
+
d = create_driver(%[
|
107
|
+
key url
|
108
|
+
add_tag_prefix extracted.
|
109
|
+
only foo, baz
|
110
|
+
])
|
111
|
+
d.run do
|
112
|
+
d.emit('url' => URL)
|
113
|
+
d.emit('url' => URL)
|
114
|
+
d.emit('url' => URL)
|
115
|
+
end
|
116
|
+
emits = d.emits
|
117
|
+
|
118
|
+
assert_equal 3, emits.count
|
119
|
+
|
120
|
+
emits.each do |e|
|
121
|
+
assert_equal 'extracted.test', e[0]
|
122
|
+
assert_equal URL, e[2]['url']
|
123
|
+
assert_equal 'bar', e[2]['foo']
|
124
|
+
assert_equal 'qux', e[2]['baz']
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
105
128
|
def test_emit_without_match_key
|
106
129
|
d = create_driver(%[
|
107
130
|
key no_such_key
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-extract_query_params
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|