fluent-plugin-referer-parser 0.0.8 → 0.0.9

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: fed5b60490e817d6807e1d9dc5f07d130a6d9a3c
4
- data.tar.gz: c62073a54c3654f73975743523fce6643bceb6d8
3
+ metadata.gz: d258ae6d39fefa38045afceb356ddef7b0b63bd3
4
+ data.tar.gz: aa497f178a1d9bfae485102a05b315a021c5232e
5
5
  SHA512:
6
- metadata.gz: 7eb93fc1bb3c17ee7f164cab04b018ffd91a20a6492ad7cd10627f75fad5d847233e2ea10eaf597b3284518cdedfc68b8067a6e09a3f452232bf19955df7a95a
7
- data.tar.gz: e1c540daa4e27ab38bdc319b66811b778acc163d4d812e3077d2c02247bfc8e4cdcd711544d35807ccdee6154d6507d038aa6b4db01ee79a28877a41c6037bf7
6
+ metadata.gz: 16e4fc677a4f6251c4815e091a0a1f8bffb632c454d47d5d5f49c5bca757655ff4b58509d445833e4787d319c05a9669aefba12e74f6c05d719c81dd5aac3784
7
+ data.tar.gz: 3928930d0b7158f3b46c12934c3ef23c4f38ee16a550892b607e45ac0248783d3d0371cec3ef8801656a26f7af26dc5e1da72769d25e3a83b934d3aecb208c9c
data/.travis.yml CHANGED
@@ -1,4 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
4
- - 2.0.0
3
+ - 2.2
4
+ - 2.3.4
5
+ - 2.4.1
data/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  To add referer-parser result into matched messages:
12
12
 
13
13
  <match input.**>
14
- type referer_parser
14
+ @type referer_parser
15
15
  key_name referer
16
16
  remove_prefix input
17
17
  add_prefix merged
@@ -20,7 +20,7 @@ To add referer-parser result into matched messages:
20
20
  Output messages with tag 'merged.**' has 'referer_known', 'referer_referer' and 'referer_search_term' attributes. If you want to change attribute names, write configurations as below:
21
21
 
22
22
  <match input.**>
23
- type referer_parser
23
+ @type referer_parser
24
24
  key_name ref
25
25
  remove_prefix input
26
26
  add_prefix merged
@@ -3,7 +3,7 @@ require 'English'
3
3
 
4
4
  Gem::Specification.new do |gem|
5
5
  gem.name = 'fluent-plugin-referer-parser'
6
- gem.version = '0.0.8'
6
+ gem.version = '0.0.9'
7
7
  gem.authors = ['TAGOMORI Satoshi', 'HARUYAMA Seigo']
8
8
  gem.email = ['haruyama@unixuser.org']
9
9
  gem.description = %q(parsing by referer-parser. See: https://github.com/snowplow/referer-parser)
@@ -19,5 +19,5 @@ Gem::Specification.new do |gem|
19
19
  gem.add_development_dependency 'rake'
20
20
  gem.add_development_dependency 'test-unit', '>= 3.2'
21
21
  gem.add_runtime_dependency 'fluentd', '~> 0.12.0'
22
- gem.add_runtime_dependency 'referer-parser', '~> 0.2.0'
22
+ gem.add_runtime_dependency 'referer-parser', '~> 0.3.0'
23
23
  end
@@ -25,7 +25,11 @@ class Fluent::RefererParserOutput < Fluent::Output
25
25
  def configure(conf)
26
26
  super
27
27
 
28
- @referer_parser = RefererParser::Referer.new('http://example.org/', @referers_yaml)
28
+ @referer_parser = if @referers_yaml
29
+ RefererParser::Parser.new(@referers_yaml)
30
+ else
31
+ RefererParser::Parser.new
32
+ end
29
33
 
30
34
  if @encodings_yaml
31
35
  @encodings = YAML.load_file(@encodings_yaml)
@@ -69,29 +73,31 @@ class Fluent::RefererParserOutput < Fluent::Output
69
73
  tag = tag_mangle(tag)
70
74
  es.each do |time, record|
71
75
  is_valid = true
72
- begin
73
- @referer_parser.parse(record[@key_name])
74
- rescue
75
- is_valid = false
76
- end
77
- if is_valid && @referer_parser.known?
78
- search_term = @referer_parser.search_term
79
- host = @referer_parser.uri.host
80
- parameters = CGI.parse(@referer_parser.uri.query)
76
+ parsed = begin
77
+ @referer_parser.parse(record[@key_name])
78
+ rescue
79
+ is_valid = false
80
+ {}
81
+ end
82
+ if is_valid && parsed[:known]
83
+ search_term = parsed[:term]
84
+ uri = URI.parse(parsed[:uri])
85
+ host = uri.host
86
+ parameters = CGI.parse(uri.query)
81
87
  input_encoding = @encodings[host] || parameters['ie'][0] || parameters['ei'][0]
82
88
  begin
83
89
  search_term = search_term.force_encoding(input_encoding).encode('utf-8') if input_encoding && /\Autf-?8\z/i !~ input_encoding
84
90
  rescue
85
- $log.error('invalid referer: ' + @referer_parser.uri.to_s)
91
+ log.error('invalid referer: ' + uri.to_s)
86
92
  end
87
93
  record.merge!(
88
94
  @out_key_known => true,
89
- @out_key_referer => @referer_parser.referer,
95
+ @out_key_referer => parsed[:source],
90
96
  @out_key_host => host,
91
97
  @out_key_search_term => search_term
92
98
  )
93
99
  else
94
- record.merge!(@out_key_known => false)
100
+ record[@out_key_known] = false
95
101
  end
96
102
  router.emit(tag, time, record)
97
103
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-referer-parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - TAGOMORI Satoshi
@@ -59,14 +59,14 @@ dependencies:
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: 0.2.0
62
+ version: 0.3.0
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: 0.2.0
69
+ version: 0.3.0
70
70
  description: 'parsing by referer-parser. See: https://github.com/snowplow/referer-parser'
71
71
  email:
72
72
  - haruyama@unixuser.org