logstash-filter-rest 0.1.3 → 0.1.4
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/lib/logstash/filters/rest.rb +19 -21
- data/logstash-filter-rest.gemspec +1 -1
- data/spec/filters/rest_spec.rb +2 -1
- metadata +19 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c9e0299b703d9633505ab0430805ca396d641797
|
4
|
+
data.tar.gz: e4582e84fa6b356034bcd2411fd5c0816ff82be4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b281e4f79495b734bf63150c57694a36c23c8cd970d7d1103ce6e8751b7d4dee8640153ed1f0ce9dc7557c2360258b5a1ef740dfd62ace80de2b4adaa35a0bd6
|
7
|
+
data.tar.gz: aafd124a94396f240bae382b6cb4757a882af5ca86518e5c3ce5e259f48d144c80146f883013943d9d3dc59be1cca12e1fe9678de1ec55783ebf47eb2820d63d
|
@@ -48,31 +48,12 @@ class LogStash::Filters::Rest < LogStash::Filters::Base
|
|
48
48
|
public
|
49
49
|
def filter(event)
|
50
50
|
return unless filter?(event)
|
51
|
-
|
52
51
|
begin
|
53
|
-
|
54
|
-
if sprintf == true
|
55
|
-
begin
|
56
|
-
# sprintf values
|
57
|
-
@url = event.sprintf(@url)
|
58
|
-
@header.each do |key, value|
|
59
|
-
@header[key] = event.sprintf(value)
|
60
|
-
end
|
61
|
-
@params.each do |key, value|
|
62
|
-
@params[key] = event.sprintf(value)
|
63
|
-
end
|
64
|
-
rescue
|
65
|
-
@logger.error("Error during sprintf", :url => url, :method => method, :json => json, :header => header, :params => params)
|
66
|
-
@logger.error("Rest Error Message:", :message => $!.message)
|
67
|
-
@logger.error("Backtrace:", :backtrace => $!.backtrace)
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
52
|
case method
|
72
53
|
when "get"
|
73
|
-
response = RestClient.get @url, @header
|
54
|
+
response = RestClient.get sprint(@sprintf, @url, event), sprint(@sprintf, @header, event)
|
74
55
|
when "post"
|
75
|
-
response = RestClient.post @url, @params, @header
|
56
|
+
response = RestClient.post sprint(@sprintf, @url, event), sprint(@sprintf, @params, event), sprint(@sprintf, @header, event)
|
76
57
|
else
|
77
58
|
response = "invalid method"
|
78
59
|
@logger.error("Invalid method:", :method => method)
|
@@ -104,4 +85,21 @@ class LogStash::Filters::Rest < LogStash::Filters::Base
|
|
104
85
|
|
105
86
|
filter_matched(event)
|
106
87
|
end # def filter
|
88
|
+
|
89
|
+
def sprint(sprintf, hash, event)
|
90
|
+
if sprintf
|
91
|
+
if hash.class == Hash
|
92
|
+
result = { }
|
93
|
+
hash.each do |key, value|
|
94
|
+
result[key] = event.sprintf(value)
|
95
|
+
end
|
96
|
+
return result
|
97
|
+
else
|
98
|
+
return event.sprintf(hash)
|
99
|
+
end
|
100
|
+
else
|
101
|
+
return hash
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
107
105
|
end # class LogStash::Filters::Rest
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'logstash-filter-rest'
|
3
|
-
s.version = '0.1.
|
3
|
+
s.version = '0.1.4'
|
4
4
|
s.licenses = ['Apache License (2.0)']
|
5
5
|
s.summary = "This filter requests data from a RESTful Web Service."
|
6
6
|
s.description = "This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program"
|
data/spec/filters/rest_spec.rb
CHANGED
@@ -7,7 +7,7 @@ describe LogStash::Filters::Rest do
|
|
7
7
|
filter {
|
8
8
|
rest {
|
9
9
|
url => "http://jsonplaceholder.typicode.com/users/1"
|
10
|
-
|
10
|
+
json => true
|
11
11
|
}
|
12
12
|
}
|
13
13
|
CONFIG
|
@@ -15,6 +15,7 @@ describe LogStash::Filters::Rest do
|
|
15
15
|
|
16
16
|
sample("message" => "some text") do
|
17
17
|
expect(subject).to include("rest_response")
|
18
|
+
expect(subject['rest_response']).to include("id")
|
18
19
|
end
|
19
20
|
end
|
20
21
|
end
|
metadata
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-filter-rest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lucas Henning
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
|
14
|
+
name: logstash-core
|
15
|
+
version_requirements: !ruby/object:Gem::Requirement
|
15
16
|
requirements:
|
16
17
|
- - '>='
|
17
18
|
- !ruby/object:Gem::Version
|
@@ -19,10 +20,7 @@ dependencies:
|
|
19
20
|
- - <
|
20
21
|
- !ruby/object:Gem::Version
|
21
22
|
version: 2.0.0
|
22
|
-
|
23
|
-
prerelease: false
|
24
|
-
type: :runtime
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirement: !ruby/object:Gem::Requirement
|
26
24
|
requirements:
|
27
25
|
- - '>='
|
28
26
|
- !ruby/object:Gem::Version
|
@@ -30,48 +28,50 @@ dependencies:
|
|
30
28
|
- - <
|
31
29
|
- !ruby/object:Gem::Version
|
32
30
|
version: 2.0.0
|
31
|
+
prerelease: false
|
32
|
+
type: :runtime
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
+
name: rest-client
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 1.8.0
|
34
40
|
requirement: !ruby/object:Gem::Requirement
|
35
41
|
requirements:
|
36
42
|
- - '>='
|
37
43
|
- !ruby/object:Gem::Version
|
38
44
|
version: 1.8.0
|
39
|
-
name: rest-client
|
40
45
|
prerelease: false
|
41
46
|
type: :runtime
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: logstash-codec-json
|
42
49
|
version_requirements: !ruby/object:Gem::Requirement
|
43
50
|
requirements:
|
44
51
|
- - '>='
|
45
52
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
47
|
-
- !ruby/object:Gem::Dependency
|
53
|
+
version: '0'
|
48
54
|
requirement: !ruby/object:Gem::Requirement
|
49
55
|
requirements:
|
50
56
|
- - '>='
|
51
57
|
- !ruby/object:Gem::Version
|
52
58
|
version: '0'
|
53
|
-
name: logstash-codec-json
|
54
59
|
prerelease: false
|
55
60
|
type: :runtime
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: logstash-devutils
|
56
63
|
version_requirements: !ruby/object:Gem::Requirement
|
57
64
|
requirements:
|
58
65
|
- - '>='
|
59
66
|
- !ruby/object:Gem::Version
|
60
67
|
version: '0'
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
68
|
requirement: !ruby/object:Gem::Requirement
|
63
69
|
requirements:
|
64
70
|
- - '>='
|
65
71
|
- !ruby/object:Gem::Version
|
66
72
|
version: '0'
|
67
|
-
name: logstash-devutils
|
68
73
|
prerelease: false
|
69
74
|
type: :development
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
71
|
-
requirements:
|
72
|
-
- - '>='
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: '0'
|
75
75
|
description: This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program
|
76
76
|
email: mail@hurb.de
|
77
77
|
executables: []
|
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
109
|
version: '0'
|
110
110
|
requirements: []
|
111
111
|
rubyforge_project:
|
112
|
-
rubygems_version: 2.4.
|
112
|
+
rubygems_version: 2.4.6
|
113
113
|
signing_key:
|
114
114
|
specification_version: 4
|
115
115
|
summary: This filter requests data from a RESTful Web Service.
|