fluent-plugin-parse_cookie 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 22eaeee0fdeb4f1158f5957db87a9e1fa00fa3bf
4
+ data.tar.gz: eddd439e59e66f93644f524e0c5f0e7e0a5ab899
5
+ SHA512:
6
+ metadata.gz: 8c6b308be1fe6d01bb7d754a0f5482c3917e5ab4feab89037842e1d2958db0c11708b4afbe376b6d09930e669f04d8c12034387d9cf075f85ff9c9b37acfc6b2
7
+ data.tar.gz: cee4b10f6e18acec7b18e7415b475c9786dd5d6421a17a06412b87b7bf77754f1dfc51e52e30461c652521f3dd305f30e9208c9443687b4b6e9bb13454c10e11
data/.gitignore ADDED
@@ -0,0 +1,14 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ mkmf.log
data/CHANGELOG.md ADDED
@@ -0,0 +1,2 @@
1
+ ## 0.0.1 (2015/02/11)
2
+ First release
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in fluent-plugin-parse_cookie.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2015 h-michael-z
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,163 @@
1
+ # Fluent::Plugin::ParseCookie, a plugin for [Fluentd](http://fluentd.org)
2
+
3
+ Fluentd plugin to parse cookie log.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'fluent-plugin-parse_cookie'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install fluent-plugin-parse_cookie
20
+
21
+ ## Usage
22
+
23
+ default usage
24
+ ```
25
+ <match foo.**>
26
+ type parse_cookie
27
+ key cookie
28
+ </match>
29
+
30
+ input
31
+ "test" {
32
+ "cookie": "foo=baz; empty=; array=123; array=abc; array=1a2b"
33
+ }
34
+
35
+ output
36
+ "parsed_cookie.test" {
37
+ "cookie": "foo=baz; empty=; array=123; array=abc; array=1a2b"
38
+ "foo": ["baz"],
39
+ "empty": [],
40
+ "array": ["123", "abc", "1a2b"]
41
+ }
42
+ ```
43
+
44
+ change tag prefix (default tag prefix is "parsed_cookie.")
45
+ ```
46
+ <match foo.**>
47
+ type parse_cookie
48
+ key cookie
49
+ tag_prefix changed.
50
+
51
+ </match>
52
+
53
+ input
54
+ "test" {
55
+ "cookie": "foo=baz; empty=; array=123; array=abc; array=1a2b"
56
+ }
57
+
58
+ output
59
+ "changed.test" {
60
+ "cookie": "foo=baz; empty=; array=123; array=abc; array=1a2b"
61
+ "foo": ["baz"],
62
+ "empty": [],
63
+ "array": ["123", "abc", "1a2b"]
64
+ }
65
+ ```
66
+
67
+ If you want to remove empty array.
68
+ ```
69
+ <match foo.**>
70
+ type parse_cookie
71
+ key cookie
72
+ remove_empty_array true
73
+ </match>
74
+
75
+ input
76
+ "test" {
77
+ "cookie": "foo=baz; empty=; array=123; array=abc; array=1a2b"
78
+ }
79
+
80
+ output
81
+ "parsed_cookie.test" {
82
+ "cookie": "foo=baz; empty=; array=123; array=abc; array=1a2b"
83
+ "foo": ["baz"],
84
+ "array": ["123", "abc", "1a2b"]
85
+ }
86
+ ```
87
+
88
+ If you want convert array that has only single object to string.
89
+ ```
90
+ <match foo.**>
91
+ type parse_cookie
92
+ key cookie
93
+ single_value_to_string true
94
+ </match>
95
+
96
+ input
97
+ "test" {
98
+ "cookie": "foo=baz; empty=; array=123; array=abc; array=1a2b"
99
+ }
100
+
101
+ output
102
+ "parsed_cookie.test" {
103
+ "cookie": "foo=baz; empty=; array=123; array=abc; array=1a2b"
104
+ "foo": "baz",
105
+ "empty": [],
106
+ "array": ["123", "abc", "1a2b"]
107
+ }
108
+ ```
109
+
110
+ If you want remove cookie from record.
111
+ ```
112
+ <match foo.**>
113
+ type parse_cookie
114
+ key cookie
115
+ remove_cookie true
116
+ </match>
117
+
118
+ input
119
+ "test" {
120
+ "cookie": "foo=baz; empty=; array=123; array=abc; array=1a2b"
121
+ }
122
+
123
+ output
124
+ "parsed_cookie.test" {
125
+ "foo": ["baz"],
126
+ "empty": [],
127
+ "array": ["123", "abc", "1a2b"]
128
+ }
129
+ ```
130
+ ## Option Parameters
131
+
132
+ ### key :String
133
+ key is used to point a key thad is cookie.
134
+
135
+ ### tag_prefix :String
136
+ Added tag prefix.
137
+ Default value is "parsed."
138
+
139
+ ### remove_empty_array :Bool
140
+ You want to remove empty array.
141
+ You must be this option setting true.
142
+ Default value is false.
143
+
144
+ ### single_value_to_string :Bool
145
+ You want to convert array that has only single object to string.
146
+ You must be this option setting true.
147
+ Default value is false.
148
+
149
+ ### remove_cookie :Bool
150
+ You want to remove cookie.
151
+ You must be this option setting true.
152
+ Default value is false.
153
+
154
+ ## Change log
155
+ See [CHANGELOG.md](https://github.com/[my-github-username]/fluent-plugin-parse_cookie/blob/master/CHANGELOG.md) for details.
156
+
157
+ ## Contributing
158
+
159
+ 1. Fork it ( https://github.com/[my-github-username]/fluent-plugin-parse_cookie/fork )
160
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
161
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
162
+ 4. Push to the branch (`git push origin my-new-feature`)
163
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
3
+ require 'rake/testtask'
4
+
5
+ Rake::TestTask.new(:test) do |test|
6
+ test.libs << 'lib' << 'test'
7
+ test.pattern = 'test/**/test_*.rb'
8
+ test.verbose = true
9
+ end
@@ -0,0 +1,28 @@
1
+ $:.push File.expand_path('../lib', __FILE__)
2
+ require 'fluent/plugin/parse_cookie/version'
3
+
4
+ Gem::Specification.new do |spec|
5
+ spec.name = "fluent-plugin-parse_cookie"
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"
13
+
14
+ spec.files = `git ls-files -z`.split("\x0")
15
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
16
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
+ spec.require_paths = ["lib"]
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"
28
+ end
@@ -0,0 +1,71 @@
1
+ module Fluent
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
+
10
+ def initialize
11
+ super
12
+ require 'CGI'
13
+ end
14
+
15
+ # Define `log` method for v0.10.42 or earlier
16
+ unless method_defined?(:log)
17
+ define_method("log") { $log }
18
+ end
19
+
20
+ def configure(conf)
21
+ super
22
+ end
23
+
24
+ def start
25
+ super
26
+ end
27
+
28
+ def shutdown
29
+ super
30
+ end
31
+
32
+ def emit(tag, es, chain)
33
+ es.each {|time, record|
34
+ t = tag.dup
35
+ new_record = parse_cookie(record)
36
+
37
+ t = @tag_prefix + t unless @tag_prefix.nil?
38
+
39
+ Engine.emit(t, time, new_record)
40
+ }
41
+ chain.next
42
+ rescue => e
43
+ log.warn("out_parse_cookie: error_class:#{e.class} error_message:#{e.message} tag:#{tag} es:#{es} bactrace:#{e.backtrace.first}")
44
+ end
45
+
46
+ def parse_cookie(record)
47
+ if record[key]
48
+ parsed_cookie = CGI::Cookie.parse(record[key])
49
+ hash = {}
50
+ parsed_cookie.each do |k,array|
51
+ hash.merge!({k => array.select {|v| v.class == String }})
52
+ end
53
+
54
+ hash = hash.select {|k, v| v != []} if remove_empty_array == true
55
+
56
+ if single_value_to_string == true
57
+ hash.each do |k, v|
58
+ if v.count == 1
59
+ hash[k] = v[0]
60
+ end
61
+ end
62
+ end
63
+ record.merge!(hash)
64
+ record.delete(key) if remove_cookie
65
+ end
66
+ return record
67
+ rescue => e
68
+ log.warn("out_parse_cookie: error_class:#{e.class} error_message:#{e.message} tag:#{tag} record:#{record} bactrace:#{e.backtrace.first}")
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,5 @@
1
+ module Fluent
2
+ module ParseCookie
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
data/test/helper.rb ADDED
@@ -0,0 +1,28 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'test/unit'
11
+
12
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
13
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
14
+ require 'fluent/test'
15
+ unless ENV.has_key?('VERBOSE')
16
+ nulllogger = Object.new
17
+ nulllogger.instance_eval {|obj|
18
+ def method_missing(method, *args)
19
+ # pass
20
+ end
21
+ }
22
+ $log = nulllogger
23
+ end
24
+
25
+ require 'fluent/plugin/out_parse_cookie'
26
+
27
+ class Test::Unit::TestCase
28
+ end
@@ -0,0 +1,173 @@
1
+ require 'helper'
2
+ require 'rr'
3
+ require 'timecop'
4
+ require 'pry-byebug'
5
+ require 'fluent/plugin/out_parse_cookie'
6
+
7
+ class ParseCookieOutputTest < Test::Unit::TestCase
8
+
9
+ COOKIE = 'temporary=tmp; empty=; __test=miahcel; array=123; array=abc; array=1a2b'
10
+
11
+ def setup
12
+ Fluent::Test.setup
13
+ Timecop.freeze(@time)
14
+ end
15
+
16
+ teardown do
17
+ Timecop.return
18
+ end
19
+
20
+ def create_driver(conf, tag)
21
+ Fluent::Test::OutputTestDriver.new(
22
+ Fluent::ParseCookieOutput, tag
23
+ ).configure(conf)
24
+ end
25
+
26
+ def emit(conf, record, tag='test')
27
+ d = create_driver(conf, tag)
28
+ d.run {d.emit(record)}
29
+ emits = d.emits
30
+ end
31
+
32
+ def test_configure
33
+ d = create_driver(%[
34
+ key cookie
35
+ ], "test")
36
+
37
+ assert_equal 'cookie', d.instance.key
38
+ assert_equal 'parsed_cookie.', d.instance.tag_prefix
39
+ assert_equal false, d.instance.remove_empty_array
40
+ end
41
+
42
+ def test_parse_cookie
43
+ conf = %[
44
+ key cookie
45
+ ]
46
+
47
+ record = {
48
+ 'cookie' => COOKIE,
49
+ }
50
+
51
+ emits = emit(conf, record)
52
+
53
+ emits.each_with_index do |(tag, time, record), i|
54
+ 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']
60
+ end
61
+ end
62
+
63
+ def test_delete_cookie
64
+ conf = %[
65
+ key cookie
66
+ remove_cookie true
67
+ ]
68
+
69
+ record = {
70
+ 'cookie' => COOKIE,
71
+ }
72
+
73
+ emits = emit(conf, record)
74
+
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']
82
+ end
83
+ end
84
+
85
+ def test_add_tag_prefix
86
+ conf = %[
87
+ key cookie
88
+ tag_prefix add_tag.
89
+ ]
90
+
91
+ record = {
92
+ 'cookie' => COOKIE,
93
+ }
94
+
95
+ emits = emit(conf, record)
96
+
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']
104
+ end
105
+ end
106
+
107
+ def test_remove_empty_array
108
+ conf = %[
109
+ key cookie
110
+ remove_empty_array true
111
+ ]
112
+
113
+ record = {
114
+ 'cookie' => COOKIE,
115
+ }
116
+
117
+ emits = emit(conf, record)
118
+
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']
126
+ end
127
+ end
128
+
129
+ def test_single_value_to_string
130
+ conf = %[
131
+ key cookie
132
+ single_value_to_string true
133
+ ]
134
+
135
+ record = {
136
+ 'cookie' => COOKIE,
137
+ }
138
+
139
+ emits = emit(conf, record)
140
+
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']
148
+ end
149
+ end
150
+
151
+ def test_remove_empty_array_single_value_to_string
152
+ conf = %[
153
+ key cookie
154
+ remove_empty_array true
155
+ single_value_to_string true
156
+ ]
157
+
158
+ record = {
159
+ 'cookie' => COOKIE,
160
+ }
161
+
162
+ emits = emit(conf, record)
163
+
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']
171
+ end
172
+ end
173
+ end
metadata ADDED
@@ -0,0 +1,183 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fluent-plugin-parse_cookie
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Hirokazu Hata
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-02-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: fluentd
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
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
+ - !ruby/object:Gem::Dependency
56
+ name: pry
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry-byebug
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry-nav
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: test-unit
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rr
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: timecop
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ description: Fluentd plugin to parse cookie
140
+ email:
141
+ - h.hata.ai.t@gmail.com
142
+ executables: []
143
+ extensions: []
144
+ extra_rdoc_files: []
145
+ files:
146
+ - ".gitignore"
147
+ - CHANGELOG.md
148
+ - Gemfile
149
+ - LICENSE.txt
150
+ - README.md
151
+ - Rakefile
152
+ - fluent-plugin-parse_cookie.gemspec
153
+ - lib/fluent/plugin/out_parse_cookie.rb
154
+ - lib/fluent/plugin/parse_cookie/version.rb
155
+ - test/helper.rb
156
+ - test/plugin/test_out_parse_cookie.rb
157
+ homepage: ''
158
+ licenses:
159
+ - MIT
160
+ metadata: {}
161
+ post_install_message:
162
+ rdoc_options: []
163
+ require_paths:
164
+ - lib
165
+ required_ruby_version: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ required_rubygems_version: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ requirements: []
176
+ rubyforge_project:
177
+ rubygems_version: 2.2.2
178
+ signing_key:
179
+ specification_version: 4
180
+ summary: Fluentd plugin to parse cookie
181
+ test_files:
182
+ - test/helper.rb
183
+ - test/plugin/test_out_parse_cookie.rb