fluent-plugin-referer-parser 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/Gemfile +0 -1
- data/fluent-plugin-referer-parser.gemspec +2 -2
- data/lib/fluent/plugin/out_referer_parser.rb +12 -12
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd83b311f03254625e7b916003dec4f6035cc61a
|
4
|
+
data.tar.gz: ece5d27318aa190985fef7e3cc10d85214210884
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 451ebb2c50be591dc417bcfbffd33bd10f5dd919707f510ce4dfbff4dfde3befd5c39f44b2628f1369f094f8033f622be3fa1b7477832b5fb1bda0aa0adbe291
|
7
|
+
data.tar.gz: 6df8bb5c8542c145dc5517724a06e6bae3d443092e87f96370c6eac331a02a263f76090d15440054b5d7c349dc3830536b342754e3bfa71f235a36227ffb7d62
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |gem|
|
4
4
|
gem.name = 'fluent-plugin-referer-parser'
|
5
|
-
gem.version = '0.0.
|
5
|
+
gem.version = '0.0.5'
|
6
6
|
gem.authors = ['TAGOMORI Satoshi', 'HARUYAMA Seigo']
|
7
7
|
gem.email = ['tagomoris@gmail.com', 'haruyama@unixuser.org']
|
8
8
|
gem.description = %q{parsing by referer-parser. See: https://github.com/snowplow/referer-parser}
|
@@ -17,5 +17,5 @@ Gem::Specification.new do |gem|
|
|
17
17
|
|
18
18
|
gem.add_development_dependency 'rake'
|
19
19
|
gem.add_runtime_dependency 'fluentd'
|
20
|
-
gem.add_runtime_dependency 'referer-parser'
|
20
|
+
gem.add_runtime_dependency 'referer-parser', '>= 0.2.0'
|
21
21
|
end
|
@@ -14,7 +14,7 @@ class Fluent::RefererParserOutput < Fluent::Output
|
|
14
14
|
config_param :out_key_referer, :string, default: 'referer_referer'
|
15
15
|
config_param :out_key_search_term, :string, default: 'referer_search_term'
|
16
16
|
|
17
|
-
|
17
|
+
REFERER = RefererParser::Referer.new('http://example.org/')
|
18
18
|
|
19
19
|
def initialize
|
20
20
|
super
|
@@ -59,24 +59,24 @@ class Fluent::RefererParserOutput < Fluent::Output
|
|
59
59
|
def emit(tag, es, chain)
|
60
60
|
tag = tag_mangle(tag)
|
61
61
|
es.each do |time, record|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
if
|
69
|
-
search_term =
|
70
|
-
parameters = CGI.parse(
|
62
|
+
valid = true
|
63
|
+
begin
|
64
|
+
REFERER.parse(record[@key_name])
|
65
|
+
rescue
|
66
|
+
valid = false
|
67
|
+
end
|
68
|
+
if valid && REFERER.known?
|
69
|
+
search_term = REFERER.search_term
|
70
|
+
parameters = CGI.parse(REFERER.uri.query)
|
71
71
|
input_encoding = parameters['ie'][0] || parameters['ei'][0]
|
72
72
|
begin
|
73
73
|
search_term = search_term.force_encoding(input_encoding).encode('utf-8') if input_encoding && /\Autf-?8\z/i !~ input_encoding
|
74
74
|
rescue
|
75
|
-
$log.error('invalid referer: ' +
|
75
|
+
$log.error('invalid referer: ' + REFERER.uri.to_s)
|
76
76
|
end
|
77
77
|
record.merge!(
|
78
78
|
@out_key_known => true,
|
79
|
-
@out_key_referer =>
|
79
|
+
@out_key_referer => REFERER.referer,
|
80
80
|
@out_key_search_term => search_term,
|
81
81
|
)
|
82
82
|
else
|
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.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TAGOMORI Satoshi
|
@@ -45,14 +45,14 @@ dependencies:
|
|
45
45
|
requirements:
|
46
46
|
- - '>='
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
48
|
+
version: 0.2.0
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - '>='
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
55
|
+
version: 0.2.0
|
56
56
|
description: 'parsing by referer-parser. See: https://github.com/snowplow/referer-parser'
|
57
57
|
email:
|
58
58
|
- tagomoris@gmail.com
|