logstash-filter-rest 0.2.0 → 0.2.1

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: 70cf7db34fec1104a8eb742ce5633c11769a66d5
4
- data.tar.gz: c265edbd76879148168331adc875befb458ec0a6
3
+ metadata.gz: 2af5930ffb298925b7a340afd929ac9c85559f4f
4
+ data.tar.gz: 57e160ff830adbc6b63d22968e4f20047b1779a3
5
5
  SHA512:
6
- metadata.gz: fac6c51358cd5cd6e9990807f03b169aeca591ea828c11f1b718b39639e99770edd534f896aa0b0ec1da8ed3e441d7807f34f8cfdf26e1403c75d73eeeaddbcd
7
- data.tar.gz: 70a3d59b3d30ebc070e715f97be104c4e2161b59405b5ac488963a78d1eb8b400dd7b1d71025c8d382ca52d34d13de56401331793089a37d200c9d85872d5e86
6
+ metadata.gz: bedafb7870ae6c5d0fc22c81f4fcedd5b1384d6524afd8394da949502f6af8ce9d551615fa73751e112db6e44acfb51b90854874ac4199f0cc3cf53e55a7951a
7
+ data.tar.gz: cb947ea8b5cbd4f666afcb297f2e45cc2f8bf5655db1f16b66de7a7a649eefc01332fb6e3156076b92ada1986d9e469027c5a8552f1880ab0a69be55f86efc1e
@@ -106,7 +106,7 @@ class LogStash::Filters::Rest < LogStash::Filters::Base
106
106
  public
107
107
 
108
108
  def register
109
- @request = normalize_request(@request)
109
+ @request = normalize_request(@request).freeze
110
110
  end # def register
111
111
 
112
112
  private
@@ -190,11 +190,12 @@ class LogStash::Filters::Rest < LogStash::Filters::Base
190
190
 
191
191
  def filter(event)
192
192
  return unless filter?(event)
193
- @request[2][:params] = sprint(@sprintf, @request[2][:params], event) if @request[2].key?(:params)
194
- @request[2][:body] = sprint(@sprintf, @request[2][:body], event) if @request[2].key?(:body)
195
- @request[1] = sprint(@sprintf, @request[1], event)
193
+ request = @request.dup
194
+ request[2][:params] = sprint(@sprintf, @request[2][:params], event) if request[2].key?(:params)
195
+ request[2][:body] = sprint(@sprintf, @request[2][:body], event) if request[2].key?(:body)
196
+ request[1] = sprint(@sprintf, @request[1], event)
196
197
 
197
- code, body = request_http(@request)
198
+ code, body = request_http(request)
198
199
  if code.between?(200, 299)
199
200
  event = process_response(body, event)
200
201
  @logger.debug? && @logger.debug('Sucess received', :code => code, :body => body)
@@ -202,7 +203,7 @@ class LogStash::Filters::Rest < LogStash::Filters::Base
202
203
  @logger.debug? && @logger.debug('Http error received', :code => code, :body => body)
203
204
  if @fallback.empty?
204
205
  @tag_on_rest_failure.each { |tag| event.tag(tag) }
205
- @logger.error('Error in Rest filter', :request => @request, :json => @json, :code => code, :body => body)
206
+ @logger.error('Error in Rest filter', :request => request, :json => @json, :code => code, :body => body)
206
207
  else
207
208
  event = add_to_event(@fallback, event)
208
209
  @logger.debug? && @logger.debug('Setting fallback', :fallback => @fallback)
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-filter-rest'
3
- s.version = '0.2.0'
3
+ s.version = '0.2.1'
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'
@@ -63,6 +63,12 @@ describe LogStash::Filters::Rest do
63
63
  expect(subject['rest']['id']).to eq(10)
64
64
  expect(subject['rest']).to_not include("fallback")
65
65
  end
66
+ sample("message" => "9") do
67
+ expect(subject).to include('rest')
68
+ expect(subject['rest']).to include("id")
69
+ expect(subject['rest']['id']).to eq(9)
70
+ expect(subject['rest']).to_not include("fallback")
71
+ end
66
72
  end
67
73
  describe "Set to Rest Filter Get without params http error" do
68
74
  let(:config) do <<-CONFIG
@@ -134,6 +140,12 @@ describe LogStash::Filters::Rest do
134
140
  expect(subject['rest'][0]['userId']).to eq(10)
135
141
  expect(subject['rest']).to_not include("fallback")
136
142
  end
143
+ sample("message" => "9") do
144
+ expect(subject).to include('rest')
145
+ expect(subject['rest'][0]).to include("userId")
146
+ expect(subject['rest'][0]['userId']).to eq(9)
147
+ expect(subject['rest']).to_not include("fallback")
148
+ end
137
149
  end
138
150
  describe "Set to Rest Filter Post with params" do
139
151
  let(:config) do <<-CONFIG
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-filter-rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lucas Henning
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-08-20 00:00:00.000000000 Z
12
+ date: 2016-08-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  requirement: !ruby/object:Gem::Requirement
@@ -135,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
135
  version: '0'
136
136
  requirements: []
137
137
  rubyforge_project:
138
- rubygems_version: 2.6.4
138
+ rubygems_version: 2.4.8
139
139
  signing_key:
140
140
  specification_version: 4
141
141
  summary: This filter requests data from a RESTful Web Service.