fluent-plugin-parse_cookie 0.0.3 → 1.0.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
- SHA1:
3
- metadata.gz: 8ec24c3f1406c0f76e9bf509d099a2c30ea3c46b
4
- data.tar.gz: ae6e8851749631f18f8358d76800966c406a6a0c
2
+ SHA256:
3
+ metadata.gz: 723ea5910a732d5ff1eef0aac02f40e3b43cb75c973fd3bc306f021988b71f2a
4
+ data.tar.gz: 164d8768a79a57d7de035ecdf82e4b8c985533ffcfd11e07dd9354f74ffa13dc
5
5
  SHA512:
6
- metadata.gz: e148c332941e9aeef2ac7c35a93c9f824e406368878815b81d7a8a8cac3a59c0298c594660b07ea914d397458b120d890e44e2003a0323f2c1b27f26f9ba3e86
7
- data.tar.gz: 38470db1db6904f700338a0a42257f830c421b4ff8ad3289e5c718cb04f2f6570fb16fc40af1c57d7706dc6fa5cd592caf366e6ef353ca6c6cc628b3bbf3d5fc
6
+ metadata.gz: c2cd6989c2575049c231ec612110d3f3dbd5d192fd14438b79ffaf47a50b8f3b36c311fbfa7ddaeccce3dabc79ad0b008f90670800b762fee2ea1314cd0e6038
7
+ data.tar.gz: aeb0ed7fb68b9a3a3fda055d5cac8077735b83787c064d48992d5c93d65fd5f3e9ee44e46cffdedc7be12b373c1b2ed5358065af145758dd0b8c11221a6d80a6
data/Rakefile CHANGED
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env rake
2
- require "bundler/gem_tasks"
2
+ require 'bundler/gem_tasks'
3
3
  require 'rake/testtask'
4
4
 
5
5
  Rake::TestTask.new(:test) do |test|
6
6
  test.libs << 'lib' << 'test'
7
7
  test.pattern = 'test/**/test_*.rb'
8
8
  test.verbose = true
9
- end
9
+ end
@@ -1,28 +1,27 @@
1
- $:.push File.expand_path('../lib', __FILE__)
1
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
2
2
  require 'fluent/plugin/parse_cookie/version'
3
3
 
4
4
  Gem::Specification.new do |spec|
5
- spec.name = "fluent-plugin-parse_cookie"
5
+ spec.name = 'fluent-plugin-parse_cookie'
6
6
  spec.version = Fluent::ParseCookie::VERSION
7
- spec.authors = ["Hirokazu Hata"]
8
- spec.email = ["h.hata.ai.t@gmail.com"]
9
- spec.summary = %q{Fluentd plugin to parse cookie}
10
- spec.description = %q{Fluentd plugin to parse cookie}
11
- spec.homepage = ""
12
- spec.license = "MIT"
7
+ spec.authors = ['Hirokazu Hata']
8
+ spec.email = ['h.hata.ai.t@gmail.com']
9
+ spec.summary = 'Fluentd plugin to parse cookie'
10
+ spec.description = 'Fluentd plugin to parse cookie'
11
+ spec.homepage = ''
12
+ spec.license = 'MIT'
13
13
 
14
14
  spec.files = `git ls-files -z`.split("\x0")
15
15
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
16
16
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
- spec.require_paths = ["lib"]
17
+ spec.require_paths = ['lib']
18
18
 
19
- spec.add_dependency "fluentd"
20
- spec.add_development_dependency "bundler"
21
- spec.add_development_dependency "rake"
22
- spec.add_development_dependency "pry"
23
- spec.add_development_dependency "pry-byebug"
24
- spec.add_development_dependency "pry-nav"
25
- spec.add_development_dependency "test-unit"
26
- spec.add_development_dependency "rr"
27
- spec.add_development_dependency "timecop"
19
+ spec.add_dependency 'fluentd', '~> 0.12.0'
20
+ spec.add_development_dependency 'bundler'
21
+ spec.add_development_dependency 'pry'
22
+ spec.add_development_dependency 'pry-byebug'
23
+ spec.add_development_dependency 'rake'
24
+ spec.add_development_dependency 'rr'
25
+ spec.add_development_dependency 'rubocop'
26
+ spec.add_development_dependency 'test-unit'
28
27
  end
@@ -1,22 +1,20 @@
1
1
  module Fluent
2
2
  class ParseCookieOutput < Output
3
- Fluent::Plugin.register_output('parse_cookie', self)
4
- config_param :key, :string
5
- config_param :tag_prefix, :string, :default => 'parsed_cookie.'
6
- config_param :remove_empty_array, :bool, :default => false
7
- config_param :single_value_to_string, :bool, :default => false
8
- config_param :remove_cookie, :bool, :default => false
9
- config_param :sub_key, :string, :default => nil
3
+ Fluent::Plugin.register_output('parse_cookie', self)
4
+ config_param :key, :string
5
+ config_param :tag_prefix, :string, default: 'parsed_cookie.'
6
+ config_param :remove_empty_array, :bool, default: false
7
+ config_param :single_value_to_string, :bool, default: false
8
+ config_param :remove_cookie, :bool, default: false
9
+ config_param :sub_key, :string, default: nil
10
10
 
11
11
  def initialize
12
12
  super
13
13
  require 'cgi'
14
14
  end
15
15
 
16
- # Define `log` method for v0.10.42 or earlier
17
- unless method_defined?(:log)
18
- define_method("log") { $log }
19
- end
16
+ # Define `log` method for v0.10.42 or earlier
17
+ define_method('log') { $log } unless method_defined?(:log)
20
18
 
21
19
  def configure(conf)
22
20
  super
@@ -31,16 +29,16 @@ module Fluent
31
29
  end
32
30
 
33
31
  def emit(tag, es, chain)
34
- es.each {|time, record|
32
+ es.each do |time, record|
35
33
  t = tag.dup
36
34
  new_record = parse_cookie(record)
37
35
 
38
36
  t = @tag_prefix + t unless @tag_prefix.nil?
39
37
 
40
38
  Engine.emit(t, time, new_record)
41
- }
39
+ end
42
40
  chain.next
43
- rescue => e
41
+ rescue StandardError => e
44
42
  log.warn("out_parse_cookie: error_class:#{e.class} error_message:#{e.message} tag:#{tag} es:#{es} bactrace:#{e.backtrace.first}")
45
43
  end
46
44
 
@@ -48,29 +46,27 @@ module Fluent
48
46
  if record[key]
49
47
  parsed_cookie = CGI::Cookie.parse(record[key])
50
48
  hash = {}
51
- parsed_cookie.each do |k,array|
52
- hash.merge!({k => array.select {|v| v.class == String }})
49
+ parsed_cookie.each do |k, array|
50
+ hash.merge!(k => array.select { |v| v.class == String })
53
51
  end
54
52
 
55
- hash = hash.select {|k, v| v != []} if remove_empty_array == true
53
+ hash = hash.reject { |_k, v| v == [] } if remove_empty_array == true
56
54
 
57
55
  if single_value_to_string == true
58
56
  hash.each do |k, v|
59
- if v.count == 1
60
- hash[k] = v[0]
61
- end
57
+ hash[k] = v[0] if v.count == 1
62
58
  end
63
59
  end
64
60
 
65
61
  target = sub_key ? (record[sub_key] ||= {}) : record
66
62
 
67
63
  target.merge!(hash)
68
-
64
+
69
65
  record.delete(key) if remove_cookie
70
66
  end
71
- return record
72
- rescue => e
67
+ record
68
+ rescue StandardError => e
73
69
  log.warn("out_parse_cookie: error_class:#{e.class} error_message:#{e.message} tag:#{tag} record:#{record} bactrace:#{e.backtrace.first}")
74
70
  end
75
71
  end
76
- end
72
+ end
@@ -1,5 +1,5 @@
1
1
  module Fluent
2
2
  module ParseCookie
3
- VERSION = "0.0.3"
3
+ VERSION = '1.0.0'.freeze
4
4
  end
5
5
  end
data/test/helper.rb CHANGED
@@ -3,8 +3,8 @@ require 'bundler'
3
3
  begin
4
4
  Bundler.setup(:default, :development)
5
5
  rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
6
+ warn e.message
7
+ warn 'Run `bundle install` to install missing gems'
8
8
  exit e.status_code
9
9
  end
10
10
  require 'test/unit'
@@ -12,17 +12,17 @@ require 'test/unit'
12
12
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
13
13
  $LOAD_PATH.unshift(File.dirname(__FILE__))
14
14
  require 'fluent/test'
15
- unless ENV.has_key?('VERBOSE')
15
+ unless ENV.key?('VERBOSE')
16
16
  nulllogger = Object.new
17
- nulllogger.instance_eval {|obj|
17
+ nulllogger.instance_eval do |_obj|
18
18
  def method_missing(method, *args)
19
19
  # pass
20
20
  end
21
- }
21
+ end
22
22
  $log = nulllogger
23
23
  end
24
24
 
25
25
  require 'fluent/plugin/out_parse_cookie'
26
26
 
27
27
  class Test::Unit::TestCase
28
- end
28
+ end
@@ -1,20 +1,13 @@
1
1
  require 'helper'
2
2
  require 'rr'
3
- require 'timecop'
4
3
  require 'pry-byebug'
5
4
  require 'fluent/plugin/out_parse_cookie'
6
5
 
7
6
  class ParseCookieOutputTest < Test::Unit::TestCase
8
-
9
- COOKIE = 'temporary=tmp; empty=; __test=miahcel; array=123; array=abc; array=1a2b'
7
+ COOKIE = 'temporary=tmp; empty=; __test=miahcel; array=123; array=abc; array=1a2b'.freeze
10
8
 
11
9
  def setup
12
10
  Fluent::Test.setup
13
- Timecop.freeze(@time)
14
- end
15
-
16
- teardown do
17
- Timecop.return
18
11
  end
19
12
 
20
13
  def create_driver(conf, tag)
@@ -23,16 +16,16 @@ class ParseCookieOutputTest < Test::Unit::TestCase
23
16
  ).configure(conf)
24
17
  end
25
18
 
26
- def emit(conf, record, tag='test')
19
+ def emit(conf, record, tag = 'test')
27
20
  d = create_driver(conf, tag)
28
- d.run {d.emit(record)}
29
- emits = d.emits
21
+ d.run { d.emit(record) }
22
+ d.emits
30
23
  end
31
24
 
32
25
  def test_configure
33
- d = create_driver(%[
26
+ d = create_driver(%(
34
27
  key cookie
35
- ], "test")
28
+ ), 'test')
36
29
 
37
30
  assert_equal 'cookie', d.instance.key
38
31
  assert_equal 'parsed_cookie.', d.instance.tag_prefix
@@ -40,158 +33,158 @@ class ParseCookieOutputTest < Test::Unit::TestCase
40
33
  end
41
34
 
42
35
  def test_parse_cookie
43
- conf = %[
36
+ conf = %(
44
37
  key cookie
45
- ]
38
+ )
46
39
 
47
40
  record = {
48
- 'cookie' => COOKIE,
41
+ 'cookie' => COOKIE
49
42
  }
50
43
 
51
44
  emits = emit(conf, record)
52
45
 
53
- emits.each_with_index do |(tag, time, record), i|
46
+ emits.each_with_index do |(tag, _time, emit_record), _i|
54
47
  assert_equal 'parsed_cookie.test', tag
55
- assert_equal ['tmp'], record['temporary']
56
- assert_equal [], record['empty']
57
- assert_equal ['miahcel'], record['__test']
58
- assert_equal ['123', 'abc', '1a2b'], record['array']
59
- assert_equal COOKIE, record['cookie']
48
+ assert_equal ['tmp'], emit_record['temporary']
49
+ assert_equal [], emit_record['empty']
50
+ assert_equal ['miahcel'], emit_record['__test']
51
+ assert_equal %w[123 abc 1a2b], emit_record['array']
52
+ assert_equal COOKIE, emit_record['cookie']
60
53
  end
61
54
  end
62
55
 
63
56
  def test_delete_cookie
64
- conf = %[
57
+ conf = %(
65
58
  key cookie
66
59
  remove_cookie true
67
- ]
60
+ )
68
61
 
69
62
  record = {
70
- 'cookie' => COOKIE,
63
+ 'cookie' => COOKIE
71
64
  }
72
65
 
73
66
  emits = emit(conf, record)
74
67
 
75
- emits.each_with_index do |(tag, time, record), i|
76
- assert_equal 'parsed_cookie.test', tag
77
- assert_equal ['tmp'], record['temporary']
78
- assert_equal [], record['empty']
79
- assert_equal ['miahcel'], record['__test']
80
- assert_equal ['123', 'abc', '1a2b'], record['array']
81
- assert_equal nil, record['cookie']
68
+ emits.each_with_index do |(tag, _time, emit_record), _i|
69
+ assert_equal 'parsed_cookie.test', tag
70
+ assert_equal ['tmp'], emit_record['temporary']
71
+ assert_equal [], emit_record['empty']
72
+ assert_equal ['miahcel'], emit_record['__test']
73
+ assert_equal %w[123 abc 1a2b], emit_record['array']
74
+ assert_equal nil, emit_record['cookie']
82
75
  end
83
76
  end
84
77
 
85
78
  def test_add_tag_prefix
86
- conf = %[
79
+ conf = %(
87
80
  key cookie
88
81
  tag_prefix add_tag.
89
- ]
82
+ )
90
83
 
91
84
  record = {
92
- 'cookie' => COOKIE,
85
+ 'cookie' => COOKIE
93
86
  }
94
87
 
95
88
  emits = emit(conf, record)
96
89
 
97
- emits.each_with_index do |(tag, time, record), i|
98
- assert_equal 'add_tag.test', tag
99
- assert_equal ['tmp'], record['temporary']
100
- assert_equal [], record['empty']
101
- assert_equal ['miahcel'], record['__test']
102
- assert_equal ['123', 'abc', '1a2b'], record['array']
103
- assert_equal COOKIE, record['cookie']
90
+ emits.each_with_index do |(tag, _time, emit_record), _i|
91
+ assert_equal 'add_tag.test', tag
92
+ assert_equal ['tmp'], emit_record['temporary']
93
+ assert_equal [], emit_record['empty']
94
+ assert_equal ['miahcel'], emit_record['__test']
95
+ assert_equal %w[123 abc 1a2b], emit_record['array']
96
+ assert_equal COOKIE, emit_record['cookie']
104
97
  end
105
98
  end
106
99
 
107
100
  def test_remove_empty_array
108
- conf = %[
101
+ conf = %(
109
102
  key cookie
110
103
  remove_empty_array true
111
- ]
104
+ )
112
105
 
113
106
  record = {
114
- 'cookie' => COOKIE,
107
+ 'cookie' => COOKIE
115
108
  }
116
109
 
117
110
  emits = emit(conf, record)
118
111
 
119
- emits.each_with_index do |(tag, time, record), i|
120
- assert_equal 'parsed_cookie.test', tag
121
- assert_equal ['tmp'], record['temporary']
122
- assert_equal nil, record['empty']
123
- assert_equal ['miahcel'], record['__test']
124
- assert_equal ['123', 'abc', '1a2b'], record['array']
125
- assert_equal COOKIE, record['cookie']
112
+ emits.each_with_index do |(tag, _time, emit_record), _i|
113
+ assert_equal 'parsed_cookie.test', tag
114
+ assert_equal ['tmp'], emit_record['temporary']
115
+ assert_equal nil, emit_record['empty']
116
+ assert_equal ['miahcel'], emit_record['__test']
117
+ assert_equal %w[123 abc 1a2b], emit_record['array']
118
+ assert_equal COOKIE, emit_record['cookie']
126
119
  end
127
120
  end
128
121
 
129
122
  def test_single_value_to_string
130
- conf = %[
123
+ conf = %(
131
124
  key cookie
132
125
  single_value_to_string true
133
- ]
126
+ )
134
127
 
135
128
  record = {
136
- 'cookie' => COOKIE,
129
+ 'cookie' => COOKIE
137
130
  }
138
131
 
139
132
  emits = emit(conf, record)
140
133
 
141
- emits.each_with_index do |(tag, time, record), i|
142
- assert_equal 'parsed_cookie.test', tag
143
- assert_equal 'tmp', record['temporary']
144
- assert_equal [], record['empty']
145
- assert_equal 'miahcel', record['__test']
146
- assert_equal ['123', 'abc', '1a2b'], record['array']
147
- assert_equal COOKIE, record['cookie']
134
+ emits.each_with_index do |(tag, _time, emit_record), _i|
135
+ assert_equal 'parsed_cookie.test', tag
136
+ assert_equal 'tmp', emit_record['temporary']
137
+ assert_equal [], emit_record['empty']
138
+ assert_equal 'miahcel', emit_record['__test']
139
+ assert_equal %w[123 abc 1a2b], emit_record['array']
140
+ assert_equal COOKIE, emit_record['cookie']
148
141
  end
149
142
  end
150
143
 
151
144
  def test_remove_empty_array_single_value_to_string
152
- conf = %[
145
+ conf = %(
153
146
  key cookie
154
147
  remove_empty_array true
155
148
  single_value_to_string true
156
- ]
149
+ )
157
150
 
158
151
  record = {
159
- 'cookie' => COOKIE,
152
+ 'cookie' => COOKIE
160
153
  }
161
154
 
162
155
  emits = emit(conf, record)
163
156
 
164
- emits.each_with_index do |(tag, time, record), i|
165
- assert_equal 'parsed_cookie.test', tag
166
- assert_equal 'tmp', record['temporary']
167
- assert_equal nil, record['empty']
168
- assert_equal 'miahcel', record['__test']
169
- assert_equal ['123', 'abc', '1a2b'], record['array']
170
- assert_equal COOKIE, record['cookie']
157
+ emits.each_with_index do |(tag, _time, emit_record), _i|
158
+ assert_equal 'parsed_cookie.test', tag
159
+ assert_equal 'tmp', emit_record['temporary']
160
+ assert_equal nil, emit_record['empty']
161
+ assert_equal 'miahcel', emit_record['__test']
162
+ assert_equal %w[123 abc 1a2b], emit_record['array']
163
+ assert_equal COOKIE, emit_record['cookie']
171
164
  end
172
165
  end
173
166
 
174
167
  def test_sub_key
175
- conf = %[
168
+ conf = %(
176
169
  key cookie
177
170
  sub_key cookie_parsed
178
171
  remove_empty_array true
179
172
  single_value_to_string true
180
- ]
173
+ )
181
174
 
182
175
  record = {
183
- 'cookie' => COOKIE,
176
+ 'cookie' => COOKIE
184
177
  }
185
178
 
186
179
  emits = emit(conf, record)
187
180
 
188
- emits.each_with_index do |(tag, time, record), i|
189
- assert_equal 'parsed_cookie.test', tag
190
- assert_equal 'tmp', record['cookie_parsed']['temporary']
191
- assert_equal nil, record['cookie_parsed']['empty']
192
- assert_equal 'miahcel', record['cookie_parsed']['__test']
193
- assert_equal ['123', 'abc', '1a2b'], record['cookie_parsed']['array']
194
- assert_equal COOKIE, record['cookie']
181
+ emits.each_with_index do |(tag, _time, emit_record), _i|
182
+ assert_equal 'parsed_cookie.test', tag
183
+ assert_equal 'tmp', emit_record['cookie_parsed']['temporary']
184
+ assert_equal nil, emit_record['cookie_parsed']['empty']
185
+ assert_equal 'miahcel', emit_record['cookie_parsed']['__test']
186
+ assert_equal %w[123 abc 1a2b], emit_record['cookie_parsed']['array']
187
+ assert_equal COOKIE, emit_record['cookie']
195
188
  end
196
189
  end
197
190
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-parse_cookie
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hirokazu Hata
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-25 00:00:00.000000000 Z
11
+ date: 2018-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 0.12.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 0.12.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: rake
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: pry
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +67,7 @@ dependencies:
81
67
  - !ruby/object:Gem::Version
82
68
  version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
- name: pry-nav
70
+ name: rake
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - ">="
@@ -95,7 +81,7 @@ dependencies:
95
81
  - !ruby/object:Gem::Version
96
82
  version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
- name: test-unit
84
+ name: rr
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - ">="
@@ -109,7 +95,7 @@ dependencies:
109
95
  - !ruby/object:Gem::Version
110
96
  version: '0'
111
97
  - !ruby/object:Gem::Dependency
112
- name: rr
98
+ name: rubocop
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
101
  - - ">="
@@ -123,7 +109,7 @@ dependencies:
123
109
  - !ruby/object:Gem::Version
124
110
  version: '0'
125
111
  - !ruby/object:Gem::Dependency
126
- name: timecop
112
+ name: test-unit
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
115
  - - ">="
@@ -174,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
174
160
  version: '0'
175
161
  requirements: []
176
162
  rubyforge_project:
177
- rubygems_version: 2.4.5
163
+ rubygems_version: 2.7.3
178
164
  signing_key:
179
165
  specification_version: 4
180
166
  summary: Fluentd plugin to parse cookie