fluent-plugin-http_shadow 0.0.4 → 0.0.5
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 +4 -4
- data/fluent-plugin-http_shadow.gemspec +1 -1
- data/lib/fluent/plugin/out_http_shadow.rb +11 -5
- data/test/plugin/test_out_http_shadow.rb +28 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 432423d0f4953a8ae5c7efb44e4ad5340ef32cf2
|
4
|
+
data.tar.gz: ab0ba60220b359a4208319d35d36459b09bc2f59
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6eab790e3e9203f1af7c5c0cc7200324a7a8955cea70396804f8f7db7074cc7900e0b69a9e790efcf17895d998e93c0344be5f7caf6e7236d9c84da17189205d
|
7
|
+
data.tar.gz: ea99cb8163843fcab9f72258764c522e607227a63a0bf44690c56af70e977b038d00c7007287a44f164c7f3966bbaf73ed42415f929b968810936961e4e757ca
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |gem|
|
4
4
|
gem.name = "fluent-plugin-http_shadow"
|
5
|
-
gem.version = "0.0.
|
5
|
+
gem.version = "0.0.5"
|
6
6
|
gem.summary = %q{copy http request. use shadow proxy server.}
|
7
7
|
gem.description = %q{copy http request. use shadow proxy server.}
|
8
8
|
gem.license = "MIT"
|
@@ -28,7 +28,10 @@ module Fluent
|
|
28
28
|
if @host.nil? && @host_hash.nil?
|
29
29
|
raise ConfigError, "out_http_shadow: required to @host or @host_hash."
|
30
30
|
end
|
31
|
+
end
|
31
32
|
|
33
|
+
def start
|
34
|
+
super
|
32
35
|
@regexp = /\$\{([^}]+)\}/
|
33
36
|
@path_format = ERB.new(@path_format.gsub(@regexp, "<%=record['" + '\1' + "'] %>"))
|
34
37
|
|
@@ -36,10 +39,6 @@ module Fluent
|
|
36
39
|
@cookies = get_formatter(@cookie_hash)
|
37
40
|
end
|
38
41
|
|
39
|
-
def start
|
40
|
-
super
|
41
|
-
end
|
42
|
-
|
43
42
|
def shutdown
|
44
43
|
super
|
45
44
|
end
|
@@ -54,7 +53,14 @@ module Fluent
|
|
54
53
|
records << record
|
55
54
|
end
|
56
55
|
sampling_size = (records.size * (@rate * 0.01)).to_i
|
57
|
-
|
56
|
+
if @rate > 100
|
57
|
+
orig_records = records.dup
|
58
|
+
loop do
|
59
|
+
records.concat(orig_records)
|
60
|
+
break if sampling_size < records.size
|
61
|
+
end
|
62
|
+
end
|
63
|
+
send_request_parallel(records.first(sampling_size))
|
58
64
|
end
|
59
65
|
|
60
66
|
private
|
@@ -4,12 +4,39 @@ class HttpShadowOutputTest < Test::Unit::TestCase
|
|
4
4
|
Fluent::Test.setup
|
5
5
|
end
|
6
6
|
|
7
|
-
def create_driver(conf)
|
7
|
+
def create_driver(conf = CONFIG, tag = 'test')
|
8
|
+
Fluent::Test::BufferedOutputTestDriver.new(Fluent::HttpShadowOutput, tag).configure(conf)
|
8
9
|
end
|
9
10
|
|
10
11
|
def test_configure
|
12
|
+
d = create_driver %[
|
13
|
+
host google.com
|
14
|
+
path_format ${path}
|
15
|
+
method_key method
|
16
|
+
path_format ${url}
|
17
|
+
method_key method
|
18
|
+
header_hash { "Referer": "${referer}", "X-Forwarded-For": "${ip_address}" }
|
19
|
+
cookie_hash { "iij-stg1_session": "${session_id}", "___IPROS_UUID_": "${uuid}"}
|
20
|
+
flush_interval 10
|
21
|
+
]
|
22
|
+
assert_equal 'google.com', d.instance.host
|
23
|
+
assert_equal 'method', d.instance.method_key
|
24
|
+
assert_equal '${url}', d.instance.path_format
|
11
25
|
end
|
12
26
|
|
27
|
+
def test_configure_error
|
28
|
+
assert_raise(Fluent::ConfigError) do
|
29
|
+
d = create_driver %[
|
30
|
+
path_format ${path}
|
31
|
+
method_key method
|
32
|
+
path_format ${url}
|
33
|
+
method_key method
|
34
|
+
header_hash { "Referer": "${referer}", "X-Forwarded-For": "${ip_address}" }
|
35
|
+
cookie_hash { "iij-stg1_session": "${session_id}", "___IPROS_UUID_": "${uuid}"}
|
36
|
+
flush_interval 10
|
37
|
+
]
|
38
|
+
end
|
39
|
+
end
|
13
40
|
end
|
14
41
|
|
15
42
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-http_shadow
|
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
|
- Hiroshi Toyama
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: typhoeus
|