fluent-plugin-extract_query_params 0.0.5 → 0.0.6

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: 4428fe126f8c2bcdfdc73937b0b140c5740ecabf
4
- data.tar.gz: 2304f1fb5c8da4aae857089d03bed3890fad7c2d
3
+ metadata.gz: 84f1e64b8f5690eed0b0bcebfa2d98a4733ae447
4
+ data.tar.gz: 65fa725473a5a549c035dd3b1f0d3c977e56a57a
5
5
  SHA512:
6
- metadata.gz: 98901ac91a3dba4f4a92c6511da1761a78c769c98f70cef957d0d701c5e1a217504904ff21a3f6645c78801d4b2daa03777ac91dec3d0a33743294724e2331c9
7
- data.tar.gz: bf128ba87028b8141fb6c8ce66c79df22729c6d372ea27fb1afc7483d86f389fbf224fba21c4ad7ae6cb4ecd18179437f5ee1232cae47a4313b10ad70c7b1ec9
6
+ metadata.gz: 17e95a517ce31448b09cecff41ecf700ef04fca39770100cb394b84fc16fabb63285a957196ff428b32fffbcdbeaaa038f7bebc722a4da189bd06be2c1e3c0ac
7
+ data.tar.gz: 2a83037ec33506bb2c67d1b57fa1e741d24d843569685ce2a48b1829156593cda25f37d55eec342f5354ae7daa3eeae2aa03b2e5ad36a9f3efda593d5e1ad343
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |gem|
2
2
  gem.name = 'fluent-plugin-extract_query_params'
3
- gem.version = '0.0.5'
3
+ gem.version = '0.0.6'
4
4
  gem.authors = ['Kentaro Kuribayashi']
5
5
  gem.email = ['kentarok@gmail.com']
6
6
  gem.homepage = 'http://github.com/kentaro/fluent-plugin-extract_query_params'
@@ -13,6 +13,5 @@ Gem::Specification.new do |gem|
13
13
  gem.require_paths = ['lib']
14
14
 
15
15
  gem.add_development_dependency 'rake'
16
- gem.add_development_dependency 'fluentd'
17
16
  gem.add_runtime_dependency 'fluentd'
18
17
  end
@@ -13,6 +13,11 @@ module Fluent
13
13
  config_param :add_field_prefix, :string, :default => nil
14
14
  config_param :permit_blank_key, :bool, :default => false
15
15
 
16
+ def initialize
17
+ super
18
+ require 'webrick'
19
+ end
20
+
16
21
  def configure(conf)
17
22
  super
18
23
 
@@ -48,7 +53,11 @@ module Fluent
48
53
  def filter_record(tag, time, record)
49
54
  if record[key]
50
55
  begin
51
- url = URI.parse(record[key])
56
+ url = begin
57
+ URI.parse(record[key])
58
+ rescue URI::InvalidURIError => e
59
+ URI.parse(WEBrick::HTTPUtils.escape(record[key]))
60
+ end
52
61
  unless url.query.nil?
53
62
  url.query.split('&').each do |pair|
54
63
  key, value = pair.split('=').map { |i| URI.unescape(i) }
@@ -298,4 +298,31 @@ class ExtractQueryParamsOutputTest < Test::Unit::TestCase
298
298
  assert_equal 'bar', r['']
299
299
  assert_equal 'qux', r['baz']
300
300
  end
301
+
302
+ def test_raw_multibyte_chars
303
+ d = create_driver(%[
304
+ key path
305
+ add_tag_prefix a.
306
+ permit_blank_key yes
307
+ ])
308
+
309
+ raw_multibytes_src = '/path/to/ほげぽす/x?a=b'
310
+
311
+ d.run {
312
+ d.emit({ 'path' => raw_multibytes_src.dup.encode('sjis').force_encoding('ascii-8bit') })
313
+ d.emit({ 'path' => raw_multibytes_src.dup.encode('eucjp').force_encoding('ascii-8bit') })
314
+ }
315
+ emits = d.emits
316
+
317
+ # nothing raised is correct
318
+ assert_equal 2, emits.count
319
+
320
+ r = emits.shift[2]
321
+ assert_equal 2, r.size
322
+ assert_equal 'b', r['a']
323
+
324
+ r = emits.shift[2]
325
+ assert_equal 2, r.size
326
+ assert_equal 'b', r['a']
327
+ end
301
328
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-extract_query_params
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kentaro Kuribayashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-29 00:00:00.000000000 Z
11
+ date: 2013-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: fluentd
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
27
  - !ruby/object:Gem::Dependency
42
28
  name: fluentd
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -87,7 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
73
  version: '0'
88
74
  requirements: []
89
75
  rubyforge_project:
90
- rubygems_version: 2.0.0
76
+ rubygems_version: 2.0.3
91
77
  signing_key:
92
78
  specification_version: 4
93
79
  summary: Fluentd plugin to extract key/values from URL query parameters