fluent-plugin-http-ex 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +1 -0
- data/fluent-plugin-http-ex.gemspec +3 -4
- data/lib/fluent/plugin/in_http_ex.rb +18 -5
- metadata +18 -39
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 381930bb5a6ff262ddd7571c9215a3cc10b23042
|
4
|
+
data.tar.gz: 919056fbf480696d77fbb97ae9cd33e2c5bc53e0
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 08826a856199a2005c950712cbf5a3529fa36f17c83641c4d3906c8211826a3a5649dd7ac2a1cbf79d81715ec08f6097621ec280145e9f45c4c83e8187a7189b
|
7
|
+
data.tar.gz: 8b87217718f5701c8841b26fe0f9baf6cc6005ae822404a8fdfdd80cad6fac881e9c70675db3e51cbbfa30e06bc8a86867be8abeacec5e2aebec5f8ba1ecc5e1
|
data/Gemfile
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "fluent-plugin-http-ex"
|
7
|
-
spec.version = "0.0.
|
7
|
+
spec.version = "0.0.3"
|
8
8
|
spec.authors = ["hiro-su"]
|
9
9
|
spec.email = ["h.sugipon@gmail.com"]
|
10
10
|
spec.description = %q{fluent plugin to accept multiple json/msgpack events in HTTP request}
|
@@ -16,7 +16,6 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
17
17
|
spec.require_paths = ["lib"]
|
18
18
|
|
19
|
-
spec.
|
20
|
-
spec.add_development_dependency "rake"
|
21
|
-
spec.add_runtime_dependency "fluentd"
|
19
|
+
spec.add_runtime_dependency "fluentd", "~> 0.12.0"
|
20
|
+
spec.add_development_dependency "rake", "~> 0.9.2"
|
22
21
|
end
|
@@ -46,7 +46,9 @@ class ExHttpInput < HttpInput
|
|
46
46
|
detach_multi_process do
|
47
47
|
Input.new.start
|
48
48
|
@km = KeepaliveManager.new(@keepalive_timeout)
|
49
|
-
@lsock = Coolio::TCPServer.new(lsock, nil, ExHandler, @km, method(:on_request),
|
49
|
+
@lsock = Coolio::TCPServer.new(lsock, nil, ExHandler, @km, method(:on_request),
|
50
|
+
@body_size_limit, nil, $log,
|
51
|
+
@cors_allow_origins)
|
50
52
|
|
51
53
|
@loop = Coolio::Loop.new
|
52
54
|
@loop.attach(@km)
|
@@ -182,8 +184,8 @@ class ExHttpInput < HttpInput
|
|
182
184
|
end
|
183
185
|
|
184
186
|
def on_read_msgpack(data)
|
185
|
-
|
186
|
-
|
187
|
+
path_info, query_string = @parser.request_url.split("?", 2)
|
188
|
+
params = WEBrick::HTTPUtils.parse_query(query_string)
|
187
189
|
@u.feed_each(data) do |obj|
|
188
190
|
params["chunked"] = obj
|
189
191
|
params["REMOTE_ADDR"] = @remote_addr
|
@@ -198,10 +200,21 @@ class ExHttpInput < HttpInput
|
|
198
200
|
def on_message_complete
|
199
201
|
return if closing?
|
200
202
|
|
203
|
+
# CORS check
|
204
|
+
# ==========
|
205
|
+
# For every incoming request, we check if we have some CORS
|
206
|
+
# restrictions and white listed origins through @cors_allow_origins.
|
207
|
+
unless @cors_allow_origins.nil?
|
208
|
+
unless @cors_allow_origins.include?(@origin)
|
209
|
+
send_response_and_close("403 Forbidden", {'Connection' => 'close'}, "")
|
210
|
+
return
|
211
|
+
end
|
212
|
+
end
|
213
|
+
|
201
214
|
@env['REMOTE_ADDR'] = @remote_addr
|
202
215
|
|
203
|
-
|
204
|
-
|
216
|
+
path_info, query_string = @parser.request_url.split("?", 2)
|
217
|
+
params = WEBrick::HTTPUtils.parse_query(query_string)
|
205
218
|
|
206
219
|
params = check_content_type(params, @content_type, @body, path_info)
|
207
220
|
params.merge!(@env)
|
metadata
CHANGED
@@ -1,64 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-http-ex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- hiro-su
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2015-04-16 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: fluentd
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
22
|
-
type: :
|
19
|
+
version: 0.12.0
|
20
|
+
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
26
|
+
version: 0.12.0
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rake
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version:
|
33
|
+
version: 0.9.2
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: fluentd
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
54
|
-
type: :runtime
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
37
|
requirements:
|
59
|
-
- -
|
38
|
+
- - "~>"
|
60
39
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
40
|
+
version: 0.9.2
|
62
41
|
description: fluent plugin to accept multiple json/msgpack events in HTTP request
|
63
42
|
email:
|
64
43
|
- h.sugipon@gmail.com
|
@@ -66,7 +45,7 @@ executables: []
|
|
66
45
|
extensions: []
|
67
46
|
extra_rdoc_files: []
|
68
47
|
files:
|
69
|
-
- .gitignore
|
48
|
+
- ".gitignore"
|
70
49
|
- Gemfile
|
71
50
|
- LICENSE.txt
|
72
51
|
- README.md
|
@@ -85,29 +64,29 @@ files:
|
|
85
64
|
- test/plugin/test_in_http_ex.rb
|
86
65
|
homepage: https://github.com/hiro-su/fluent-plugin-http-ex
|
87
66
|
licenses: []
|
67
|
+
metadata: {}
|
88
68
|
post_install_message:
|
89
69
|
rdoc_options: []
|
90
70
|
require_paths:
|
91
71
|
- lib
|
92
72
|
required_ruby_version: !ruby/object:Gem::Requirement
|
93
|
-
none: false
|
94
73
|
requirements:
|
95
|
-
- -
|
74
|
+
- - ">="
|
96
75
|
- !ruby/object:Gem::Version
|
97
76
|
version: '0'
|
98
77
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
99
|
-
none: false
|
100
78
|
requirements:
|
101
|
-
- -
|
79
|
+
- - ">="
|
102
80
|
- !ruby/object:Gem::Version
|
103
81
|
version: '0'
|
104
82
|
requirements: []
|
105
83
|
rubyforge_project:
|
106
|
-
rubygems_version:
|
84
|
+
rubygems_version: 2.4.5
|
107
85
|
signing_key:
|
108
|
-
specification_version:
|
86
|
+
specification_version: 4
|
109
87
|
summary: fluent plugin to accept multiple json/msgpack events in HTTP request
|
110
88
|
test_files:
|
111
89
|
- test/helper.rb
|
112
90
|
- test/in_http_ex_test.rb
|
113
91
|
- test/plugin/test_in_http_ex.rb
|
92
|
+
has_rdoc:
|