fluent-plugin-parse_cookie 0.0.3 → 1.0.0

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
- 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