logstash-output-scalyr 0.1.21.beta → 0.1.22.beta

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/Gemfile +2 -2
  4. data/README.md +1 -1
  5. data/lib/logstash/outputs/scalyr.rb +15 -2
  6. data/lib/scalyr/constants.rb +1 -1
  7. data/logstash-output-scalyr.gemspec +1 -1
  8. data/spec/logstash/outputs/scalyr_integration_spec.rb +8 -2
  9. data/spec/logstash/outputs/scalyr_spec.rb +8 -2
  10. data/vendor/bundle/jruby/2.5.0/bin/htmldiff +1 -1
  11. data/vendor/bundle/jruby/2.5.0/bin/ldiff +1 -1
  12. data/vendor/bundle/jruby/2.5.0/cache/manticore-0.7.1-java.gem +0 -0
  13. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/APACHE-LICENSE-2.0.txt +0 -0
  14. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/CHANGELOG.md +12 -3
  15. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/Gemfile +2 -1
  16. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/LICENSE.txt +0 -0
  17. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/README.md +17 -4
  18. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/Rakefile +0 -0
  19. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/ext/manticore/org/manticore/HttpDeleteWithEntity.java +0 -0
  20. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/ext/manticore/org/manticore/HttpGetWithEntity.java +0 -0
  21. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/ext/manticore/org/manticore/Manticore.java +0 -0
  22. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/gem-public_cert.pem +0 -0
  23. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/commons-codec/commons-codec/1.10/commons-codec-1.10.jar +0 -0
  24. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/commons-logging/commons-logging/1.2/commons-logging-1.2.jar +0 -0
  25. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/faraday/adapter/manticore.rb +1 -6
  26. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/manticore/client/proxies.rb +0 -0
  27. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/manticore/client.rb +24 -16
  28. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/manticore/cookie.rb +0 -0
  29. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/manticore/facade.rb +0 -0
  30. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/manticore/java_extensions.rb +0 -0
  31. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/manticore/response.rb +12 -12
  32. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/manticore/stubbed_response.rb +0 -0
  33. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/manticore/version.rb +1 -1
  34. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/manticore.rb +26 -2
  35. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/manticore_jars.rb +0 -0
  36. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/org/apache/httpcomponents/httpclient/4.5.2/httpclient-4.5.2.jar +0 -0
  37. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/org/apache/httpcomponents/httpcore/4.4.4/httpcore-4.4.4.jar +0 -0
  38. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/org/apache/httpcomponents/httpmime/4.5.2/httpmime-4.5.2.jar +0 -0
  39. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/lib/org/manticore/manticore-ext.jar +0 -0
  40. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/manticore.gemspec +4 -2
  41. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/spec/manticore/client_proxy_spec.rb +0 -0
  42. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/spec/manticore/client_spec.rb +15 -3
  43. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/spec/manticore/cookie_spec.rb +0 -0
  44. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/spec/manticore/facade_spec.rb +0 -0
  45. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/spec/manticore/response_spec.rb +1 -1
  46. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/spec/manticore/stubbed_response_spec.rb +0 -0
  47. data/vendor/bundle/jruby/2.5.0/gems/{manticore-0.6.4-java → manticore-0.7.1-java}/spec/spec_helper.rb +0 -0
  48. data/vendor/bundle/jruby/2.5.0/specifications/{manticore-0.6.4-java.gemspec → manticore-0.7.1-java.gemspec} +10 -9
  49. metadata +39 -39
  50. data/vendor/bundle/jruby/2.5.0/cache/manticore-0.6.4-java.gem +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7dd0297a3ddf2f2acfdad08c410822b8a4ee808800e3cfeffc5df4ec8a991348
4
- data.tar.gz: 855b7e3a655656442cf3de76e15ad3d0f90ca460421d4a4f86df46056a4b05a9
3
+ metadata.gz: 8ea703e55bc28d2bb00445c2a3e2d822bfe978bbe889292caafa6265dff1de2b
4
+ data.tar.gz: 3dc35cf36a356e5651d69e1a7d4623f296e5818a4b1c0fc8965b1a55b94a20ab
5
5
  SHA512:
6
- metadata.gz: 8c3024576c03a088008c5b1acc54d02be67be701921392d91f5991ac4482f85f62ea3b07255e38a972735182feccb1520d558f5cb065538dabe35cc86e1ad719
7
- data.tar.gz: c807baca5797bbf47cf69c8816a40300a515162617d4a714e719673572f1fe29fe3fa9ab73fd51a711af3953e212bd3dfe998e73c2c6de574a64ba6121446989
6
+ metadata.gz: 9306c619ce51c8a9cf83cb545229d4c73ac496a133e07e7e55b434301e1efc2f668187c3aa1584997ab1252ce3c7510ac9c4d719ba363933160bf2f874d0a137
7
+ data.tar.gz: 621b8f9b4095f16e51b88b8aec2844d795de75cba980ba27e0510a04f57ee9e4b34eb42513455d7509acaa8af8e085febb92cd248401e642129e09d70987a476
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Beta
2
2
 
3
+ ## 0.1.22.beta
4
+ - Add new plugin metric for tracking the duration of ``build_multi_event_request_array`` method.
5
+ - Update internal dependencies (``manticore``) to latest stable version.
6
+
3
7
  ## 0.1.21.beta
4
8
  - Fix issue with iterative flattening function when dealing with empty collections.
5
9
 
data/Gemfile CHANGED
@@ -16,5 +16,5 @@ end
16
16
 
17
17
  gem 'pry'
18
18
  gem 'pry-nav'
19
- gem 'quantile'
20
- gem 'manticore', platform: :jruby
19
+ gem 'quantile', '~> 0.2.1'
20
+ gem 'manticore', '~> 0.7.1', platform: :jruby
data/README.md CHANGED
@@ -10,7 +10,7 @@ You can view documentation for this plugin [on the Scalyr website](https://app.s
10
10
  # Quick start
11
11
 
12
12
  1. Build the gem, run `gem build logstash-output-scalyr.gemspec`
13
- 2. Install the gem into a Logstash installation, run `/usr/share/logstash/bin/logstash-plugin install logstash-output-scalyr-0.1.21.beta.gem` or follow the latest official instructions on working with plugins from Logstash.
13
+ 2. Install the gem into a Logstash installation, run `/usr/share/logstash/bin/logstash-plugin install logstash-output-scalyr-0.1.22.beta.gem` or follow the latest official instructions on working with plugins from Logstash.
14
14
  3. Configure the output plugin (e.g. add it to a pipeline .conf)
15
15
  4. Restart Logstash
16
16
 
@@ -289,6 +289,7 @@ class LogStash::Outputs::Scalyr < LogStash::Outputs::Base
289
289
  # Convenience method to create a fresh quantile estimator
290
290
  def get_new_metrics
291
291
  return {
292
+ :build_multi_duration_secs => Quantile::Estimator.new,
292
293
  :multi_receive_duration_secs => Quantile::Estimator.new,
293
294
  :multi_receive_event_count => Quantile::Estimator.new,
294
295
  :event_attributes_count => Quantile::Estimator.new,
@@ -313,17 +314,25 @@ class LogStash::Outputs::Scalyr < LogStash::Outputs::Base
313
314
  return events if @noop_mode
314
315
 
315
316
  begin
317
+ records_count = events.to_a.length
318
+
319
+ # We also time the duration of the build_multi_event_request_array method
316
320
  start_time = Time.now.to_f
317
321
 
318
322
  multi_event_request_array = build_multi_event_request_array(events)
319
- # Loop over all array of multi-event requests, sending each multi-event to Scalyr
320
323
 
324
+ if records_count > 0
325
+ @stats_lock.synchronize do
326
+ @plugin_metrics[:build_multi_duration_secs].observe(Time.now.to_f - start_time)
327
+ end
328
+ end
329
+
330
+ # Loop over all array of multi-event requests, sending each multi-event to Scalyr
321
331
  sleep_interval = @retry_initial_interval
322
332
  batch_num = 1
323
333
  total_batches = multi_event_request_array.length unless multi_event_request_array.nil?
324
334
 
325
335
  result = []
326
- records_count = events.to_a.length
327
336
 
328
337
  while !multi_event_request_array.to_a.empty?
329
338
  multi_event_request = multi_event_request_array.pop
@@ -816,6 +825,10 @@ class LogStash::Outputs::Scalyr < LogStash::Outputs::Base
816
825
  @stats_lock.synchronize do
817
826
  current_stats = @multi_receive_statistics.clone
818
827
 
828
+ current_stats[:build_multi_duration_secs_p50] = @plugin_metrics[:build_multi_duration_secs].query(0.5)
829
+ current_stats[:build_multi_duration_secs_p90] = @plugin_metrics[:build_multi_duration_secs].query(0.9)
830
+ current_stats[:build_multi_duration_secs_p99] = @plugin_metrics[:build_multi_duration_secs].query(0.99)
831
+
819
832
  current_stats[:multi_receive_duration_p50] = @plugin_metrics[:multi_receive_duration_secs].query(0.5)
820
833
  current_stats[:multi_receive_duration_p90] = @plugin_metrics[:multi_receive_duration_secs].query(0.9)
821
834
  current_stats[:multi_receive_duration_p99] = @plugin_metrics[:multi_receive_duration_secs].query(0.99)
@@ -1,2 +1,2 @@
1
1
  # encoding: utf-8
2
- PLUGIN_VERSION = "v0.1.21.beta"
2
+ PLUGIN_VERSION = "v0.1.22.beta"
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-output-scalyr'
3
- s.version = '0.1.21.beta'
3
+ s.version = '0.1.22.beta'
4
4
  s.licenses = ['Apache-2.0']
5
5
  s.summary = "Scalyr output plugin for Logstash"
6
6
  s.description = "Sends log data collected by Logstash to Scalyr (https://www.scalyr.com)"
@@ -7,6 +7,12 @@ require "json"
7
7
  require 'webmock/rspec'
8
8
  WebMock.allow_net_connect!
9
9
 
10
+ RSpec.configure do |rspec|
11
+ rspec.expect_with :rspec do |c|
12
+ c.max_formatted_output_length = nil
13
+ end
14
+ end
15
+
10
16
  describe LogStash::Outputs::Scalyr do
11
17
  let(:sample_events) {
12
18
  events = []
@@ -58,7 +64,7 @@ describe LogStash::Outputs::Scalyr do
58
64
  {
59
65
  :error_class=>"Manticore::UnknownException",
60
66
  :batch_num=>1,
61
- :message=>"Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty",
67
+ :message=>"java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty",
62
68
  :payload_size=>781,
63
69
  :record_count=>3,
64
70
  :total_batches=>1,
@@ -84,7 +90,7 @@ describe LogStash::Outputs::Scalyr do
84
90
  {
85
91
  :error_class=>"Manticore::UnknownException",
86
92
  :batch_num=>1,
87
- :message=>"Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty",
93
+ :message=>"java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty",
88
94
  :payload_size=>781,
89
95
  :record_count=>3,
90
96
  :total_batches=>1,
@@ -80,6 +80,7 @@ describe LogStash::Outputs::Scalyr do
80
80
  plugin1.instance_variable_set(:@client_session, mock_client_session)
81
81
  plugin1.instance_variable_set(:@session_id, "some_session_id")
82
82
  plugin1.instance_variable_set(:@plugin_metrics, {
83
+ :build_multi_duration_secs => Quantile::Estimator.new,
83
84
  :multi_receive_duration_secs => Quantile::Estimator.new,
84
85
  :multi_receive_event_count => Quantile::Estimator.new,
85
86
  :event_attributes_count => Quantile::Estimator.new,
@@ -87,10 +88,11 @@ describe LogStash::Outputs::Scalyr do
87
88
  :batches_per_multi_receive => Quantile::Estimator.new
88
89
  })
89
90
  plugin1.instance_variable_get(:@plugin_metrics)[:multi_receive_duration_secs].observe(1)
91
+ plugin1.instance_variable_get(:@plugin_metrics)[:build_multi_duration_secs].observe(1)
90
92
  plugin1.instance_variable_set(:@multi_receive_statistics, {:total_multi_receive_secs => 0})
91
93
 
92
94
  status_event = plugin1.send_status
93
- expect(status_event[:attrs]["message"]).to eq("plugin_status: total_requests_sent=20 total_requests_failed=10 total_request_bytes_sent=100 total_compressed_request_bytes_sent=50 total_response_bytes_received=100 total_request_latency_secs=100 total_serialization_duration_secs=100.5000 total_compression_duration_secs=10.2000 compression_type=deflate compression_level=9 total_multi_receive_secs=0 multi_receive_duration_p50=1 multi_receive_duration_p90=1 multi_receive_duration_p99=1 multi_receive_event_count_p50=0 multi_receive_event_count_p90=0 multi_receive_event_count_p99=0 event_attributes_count_p50=0 event_attributes_count_p90=0 event_attributes_count_p99=0 batches_per_multi_receive_p50=0 batches_per_multi_receive_p90=0 batches_per_multi_receive_p99=0")
95
+ expect(status_event[:attrs]["message"]).to eq("plugin_status: total_requests_sent=20 total_requests_failed=10 total_request_bytes_sent=100 total_compressed_request_bytes_sent=50 total_response_bytes_received=100 total_request_latency_secs=100 total_serialization_duration_secs=100.5000 total_compression_duration_secs=10.2000 compression_type=deflate compression_level=9 total_multi_receive_secs=0 build_multi_duration_secs_p50=1 build_multi_duration_secs_p90=1 build_multi_duration_secs_p99=1 multi_receive_duration_p50=1 multi_receive_duration_p90=1 multi_receive_duration_p99=1 multi_receive_event_count_p50=0 multi_receive_event_count_p90=0 multi_receive_event_count_p99=0 event_attributes_count_p50=0 event_attributes_count_p90=0 event_attributes_count_p99=0 batches_per_multi_receive_p50=0 batches_per_multi_receive_p90=0 batches_per_multi_receive_p99=0")
94
96
  end
95
97
 
96
98
  it "returns and sends correct status event on send_stats on initial and subsequent send" do
@@ -106,6 +108,7 @@ describe LogStash::Outputs::Scalyr do
106
108
  plugin.instance_variable_set(:@client_session, mock_client_session)
107
109
  # Setup one quantile calculation to make sure at least one of them calculates as expected
108
110
  plugin.instance_variable_set(:@plugin_metrics, {
111
+ :build_multi_duration_secs => Quantile::Estimator.new,
109
112
  :multi_receive_duration_secs => Quantile::Estimator.new,
110
113
  :multi_receive_event_count => Quantile::Estimator.new,
111
114
  :event_attributes_count => Quantile::Estimator.new,
@@ -119,12 +122,13 @@ describe LogStash::Outputs::Scalyr do
119
122
 
120
123
  plugin.instance_variable_set(:@multi_receive_statistics, {:total_multi_receive_secs => 0})
121
124
  status_event = plugin.send_status
122
- expect(status_event[:attrs]["message"]).to eq("plugin_status: total_requests_sent=20 total_requests_failed=10 total_request_bytes_sent=100 total_compressed_request_bytes_sent=50 total_response_bytes_received=100 total_request_latency_secs=100 total_serialization_duration_secs=100.5000 total_compression_duration_secs=10.2000 compression_type=deflate compression_level=9 total_multi_receive_secs=0 multi_receive_duration_p50=10 multi_receive_duration_p90=18 multi_receive_duration_p99=19 multi_receive_event_count_p50=0 multi_receive_event_count_p90=0 multi_receive_event_count_p99=0 event_attributes_count_p50=0 event_attributes_count_p90=0 event_attributes_count_p99=0 batches_per_multi_receive_p50=0 batches_per_multi_receive_p90=0 batches_per_multi_receive_p99=0 flatten_values_duration_secs_p50=0 flatten_values_duration_secs_p90=0 flatten_values_duration_secs_p99=0")
125
+ expect(status_event[:attrs]["message"]).to eq("plugin_status: total_requests_sent=20 total_requests_failed=10 total_request_bytes_sent=100 total_compressed_request_bytes_sent=50 total_response_bytes_received=100 total_request_latency_secs=100 total_serialization_duration_secs=100.5000 total_compression_duration_secs=10.2000 compression_type=deflate compression_level=9 total_multi_receive_secs=0 build_multi_duration_secs_p50=0 build_multi_duration_secs_p90=0 build_multi_duration_secs_p99=0 multi_receive_duration_p50=10 multi_receive_duration_p90=18 multi_receive_duration_p99=19 multi_receive_event_count_p50=0 multi_receive_event_count_p90=0 multi_receive_event_count_p99=0 event_attributes_count_p50=0 event_attributes_count_p90=0 event_attributes_count_p99=0 batches_per_multi_receive_p50=0 batches_per_multi_receive_p90=0 batches_per_multi_receive_p99=0 flatten_values_duration_secs_p50=0 flatten_values_duration_secs_p90=0 flatten_values_duration_secs_p99=0")
123
126
  end
124
127
 
125
128
  it "send_stats is called when events list is empty, but otherwise is noop" do
126
129
  quantile_estimator = Quantile::Estimator.new
127
130
  plugin.instance_variable_set(:@plugin_metrics, {
131
+ :build_multi_duration_secs => Quantile::Estimator.new,
128
132
  :multi_receive_duration_secs => Quantile::Estimator.new,
129
133
  :multi_receive_event_count => Quantile::Estimator.new,
130
134
  :event_attributes_count => Quantile::Estimator.new,
@@ -149,6 +153,7 @@ describe LogStash::Outputs::Scalyr do
149
153
  mock_client_session = MockClientSession.new
150
154
  quantile_estimator = Quantile::Estimator.new
151
155
  plugin2.instance_variable_set(:@plugin_metrics, {
156
+ :build_multi_duration_secs => Quantile::Estimator.new,
152
157
  :multi_receive_duration_secs => Quantile::Estimator.new,
153
158
  :multi_receive_event_count => Quantile::Estimator.new,
154
159
  :event_attributes_count => Quantile::Estimator.new,
@@ -174,6 +179,7 @@ describe LogStash::Outputs::Scalyr do
174
179
  plugin.instance_variable_set(:@last_status_transmit_time, 100)
175
180
  plugin.instance_variable_set(:@client_session, mock_client_session)
176
181
  plugin.instance_variable_set(:@plugin_metrics, {
182
+ :build_multi_duration_secs => Quantile::Estimator.new,
177
183
  :multi_receive_duration_secs => Quantile::Estimator.new,
178
184
  :multi_receive_event_count => Quantile::Estimator.new,
179
185
  :event_attributes_count => Quantile::Estimator.new,
@@ -1,6 +1,6 @@
1
1
  #!/bin/sh
2
2
  'exec' "jruby" '-x' "$0" "$@"
3
- #!/Users/yans/.rvm/rubies/jruby-9.2.9.0/bin/jruby
3
+ #!/Users/tomaz/.rvm/rubies/jruby-9.2.9.0/bin/jruby
4
4
  #
5
5
  # This file was generated by RubyGems.
6
6
  #
@@ -1,6 +1,6 @@
1
1
  #!/bin/sh
2
2
  'exec' "jruby" '-x' "$0" "$@"
3
- #!/Users/yans/.rvm/rubies/jruby-9.2.9.0/bin/jruby
3
+ #!/Users/tomaz/.rvm/rubies/jruby-9.2.9.0/bin/jruby
4
4
  #
5
5
  # This file was generated by RubyGems.
6
6
  #
@@ -1,8 +1,17 @@
1
- ## v0.6
1
+ ## v0.7
2
+
3
+ ### v0.7.1
4
+
5
+ * Don't override certificates with same Subject (#93)
6
+ * Set Java cause for ManticoreException types (#96)
7
+ * Fix SSL handshake hang indefinitely (#98)
2
8
 
3
- ### v0.6.5
9
+ ### v0.7.0
4
10
 
5
- (unreleased)
11
+ * Drop support for JRuby 1.7. It probably still works, but we don't test against it anymore
12
+ * Fix a thread safety issue with regards to adding requests to the parallel execution queue while the client is already processing a queue (#80)
13
+
14
+ ## v0.6
6
15
 
7
16
  ### v0.6.4
8
17
 
@@ -8,8 +8,9 @@ group :development, :test do
8
8
  gem "rspec", "~> 3.0"
9
9
  gem "rspec-its"
10
10
  gem "httpclient", "~> 2.3"
11
- gem "rack", "~> 1.5"
11
+ gem "rack", ">= 2.1.4"
12
12
  gem "rake-compiler"
13
13
  gem "gserver"
14
14
  gem "simplecov"
15
+ gem "json"
15
16
  end
@@ -90,7 +90,11 @@ For detailed documentation, see the [full Manticore::Client documentation](http:
90
90
  Rather than using the Facade, you can create your own standalone Client instances. When you create a `Client`, you will pass various parameters that it will use to set up the pool.
91
91
 
92
92
  ```ruby
93
- client = Manticore::Client.new(request_timeout: 5, connect_timeout: 5, socket_timeout: 5, pool_max: 10, pool_max_per_route: 2)
93
+ client = Manticore::Client.new(request_timeout: 5,
94
+ connect_timeout: 5,
95
+ socket_timeout: 5,
96
+ pool_max: 10,
97
+ pool_max_per_route: 2)
94
98
  ```
95
99
 
96
100
  Then, you can make requests from the client. Pooling and route maximum constraints are automatically managed:
@@ -122,11 +126,20 @@ per-route concurrency limits, and other neat things. In general, you should crea
122
126
  To set this up, you might create 2 pools, each configured for the task:
123
127
 
124
128
  ```ruby
125
- general_http_client = Manticore::Client.new connect_timeout: 10, socket_timeout: 10, request_timeout: 10, follow_redirects: true, max_per_route: 2
129
+ general_http_client = Manticore::Client.new(connect_timeout: 10,
130
+ socket_timeout: 10,
131
+ request_timeout: 10,
132
+ follow_redirects: true,
133
+ max_per_route: 2)
126
134
  # With an OpenSSL CA store
127
- proxied_backend_client = Manticore::Client.new proxy: "https://backend.internal:4242", ssl: {ca_file: "my_certs.pem"}
135
+ proxied_backend_client = Manticore::Client.new(proxy: "https://backend.internal:4242",
136
+ ssl: { ca_file: "my_certs.pem" })
128
137
  # Or with a .jks truststore
129
- # proxied_backend_client = Manticore::Client.new proxy: "https://backend.internal:4242", ssl: {truststore: "./truststore.jks", truststore_password: "s3cr3t"}
138
+ proxied_backend_client = Manticore::Client.new(proxy: "https://backend.internal:4242",
139
+ ssl: {
140
+ truststore: "./truststore.jks",
141
+ truststore_password: "s3cr3t"
142
+ })
130
143
  ```
131
144
 
132
145
  This would create 2 separate request pools; the first would be configured with generous timeouts and redirect following, and would use the system
@@ -20,17 +20,12 @@ module Faraday
20
20
  ParallelManager.new
21
21
  end
22
22
 
23
- def initialize(app, connection_options = {})
24
- @connection_options = connection_options
25
- super(app)
26
- end
27
-
28
23
  def client(env)
29
24
  @client ||= begin
30
25
  opts = {}
31
26
  if ssl = env[:ssl].to_hash
32
27
  opts[:ssl] = {}
33
- opts[:ssl][:verify] = :disable if ssl[:verify] == false
28
+ opts[:ssl][:verify] = ssl[:verify] unless ssl[:verify].nil?
34
29
  opts[:ssl][:ca_file] = ssl[:ca_file]
35
30
  opts[:ssl][:client_cert] = ssl[:client_cert]
36
31
  opts[:ssl][:client_key] = ssl[:client_key]
@@ -69,10 +69,8 @@ module Manticore
69
69
  include_package "org.apache.http.client.config"
70
70
  include_package "org.apache.http.config"
71
71
  include_package "org.apache.http.conn.socket"
72
- include_package "org.apache.http.impl"
73
72
  include_package "org.apache.http.impl.client"
74
73
  include_package "org.apache.http.impl.conn"
75
- include_package "org.apache.http.impl.auth"
76
74
  include_package "org.apache.http.entity"
77
75
  include_package "org.apache.http.message"
78
76
  include_package "org.apache.http.params"
@@ -80,16 +78,20 @@ module Manticore
80
78
  include_package "org.apache.http.auth"
81
79
  include_package "java.util.concurrent"
82
80
  include_package "org.apache.http.client.protocol"
83
- include_package "org.apache.http.conn.ssl"
84
81
  include_package "java.security.cert"
85
82
  include_package "java.security.spec"
86
83
  include_package "java.security"
87
- include_package "org.apache.http.client.utils"
88
84
  java_import "org.apache.http.HttpHost"
89
85
  java_import "javax.net.ssl.SSLContext"
90
86
  java_import "org.manticore.HttpGetWithEntity"
91
87
  java_import "org.manticore.HttpDeleteWithEntity"
92
88
  java_import "org.apache.http.auth.UsernamePasswordCredentials"
89
+ java_import "org.apache.http.conn.ssl.SSLConnectionSocketFactory"
90
+ java_import "org.apache.http.conn.ssl.SSLContextBuilder"
91
+ java_import "org.apache.http.conn.ssl.TrustSelfSignedStrategy"
92
+ java_import "org.apache.http.client.utils.URIBuilder"
93
+ java_import "org.apache.http.impl.DefaultConnectionReuseStrategy"
94
+ java_import "org.apache.http.impl.auth.BasicScheme"
93
95
 
94
96
  # This is a class rather than a proc because the proc holds a closure around
95
97
  # the instance of the Client that creates it.
@@ -201,11 +203,7 @@ module Manticore
201
203
  builder.set_connection_reuse_strategy DefaultConnectionReuseStrategy.new
202
204
  end
203
205
 
204
- socket_config_builder = SocketConfig.custom
205
- socket_config_builder.set_so_timeout(options.fetch(:socket_timeout, DEFAULT_SOCKET_TIMEOUT) * 1000)
206
- socket_config_builder.set_tcp_no_delay(options.fetch(:tcp_no_delay, true))
207
- builder.set_default_socket_config socket_config_builder.build
208
-
206
+ builder.set_default_socket_config socket_config_from_options(options)
209
207
  builder.set_connection_manager pool(options)
210
208
 
211
209
  request_config = RequestConfig.custom
@@ -223,7 +221,7 @@ module Manticore
223
221
  @client = builder.build
224
222
  finalize @client, :close
225
223
  @options = options
226
- @async_requests = []
224
+ @async_requests = Queue.new
227
225
  @stubs = {}
228
226
  end
229
227
 
@@ -334,8 +332,9 @@ module Manticore
334
332
  # @return [Array] An array of the responses from the requests executed.
335
333
  def execute!
336
334
  method = executor.java_method(:submit, [java.util.concurrent.Callable.java_class])
337
- result = @async_requests.map { |r| method.call r }
338
- @async_requests.clear
335
+
336
+ result = []
337
+ result << method.call(@async_requests.pop) until @async_requests.empty?
339
338
  result.map do |future|
340
339
  begin
341
340
  future.get
@@ -406,10 +405,19 @@ module Manticore
406
405
  cm.set_validate_after_inactivity options.fetch(:check_connection_timeout, 2_000)
407
406
  cm.set_default_max_per_route options.fetch(:pool_max_per_route, @max_pool_size)
408
407
  cm.set_max_total @max_pool_size
408
+ cm.set_default_socket_config socket_config_from_options(options)
409
+
409
410
  finalize cm, :shutdown
410
411
  end
411
412
  end
412
413
  end
414
+
415
+ def socket_config_from_options(options)
416
+ socket_config_builder = SocketConfig.custom
417
+ socket_config_builder.set_so_timeout(options.fetch(:socket_timeout, DEFAULT_SOCKET_TIMEOUT) * 1000)
418
+ socket_config_builder.set_tcp_no_delay(options.fetch(:tcp_no_delay, true))
419
+ socket_config_builder.build
420
+ end
413
421
 
414
422
  def create_executor_if_needed
415
423
  return @executor if @executor
@@ -509,7 +517,7 @@ module Manticore
509
517
 
510
518
  if @use_cookies == :per_request
511
519
  store = BasicCookieStore.new
512
- context.setAttribute(ClientContext.COOKIE_STORE, store)
520
+ context.setAttribute(ClientContext::COOKIE_STORE, store)
513
521
  end
514
522
 
515
523
  return req, context
@@ -617,7 +625,7 @@ module Manticore
617
625
  raise "Invalid value for :verify. Valid values are (:all, :browser, :default)"
618
626
  end
619
627
 
620
- context = SSLContexts.custom
628
+ context = SSLContextBuilder.new
621
629
  setup_trust_store ssl_options, context, trust_strategy
622
630
  setup_key_store ssl_options, context
623
631
 
@@ -632,8 +640,8 @@ module Manticore
632
640
  trust_store ||= blank_keystore
633
641
  open(ssl_options[:ca_file]) do |fp|
634
642
  cert_collection = CertificateFactory.get_instance("X509").generate_certificates(fp.to_inputstream).to_a
635
- cert_collection.each do |cert|
636
- trust_store.set_certificate_entry(cert.getSubjectX500Principal.name, cert)
643
+ cert_collection.each_with_index do |cert, i|
644
+ trust_store.set_certificate_entry("#{i}#" + cert.getSubjectX500Principal.name, cert)
637
645
  end
638
646
  end
639
647
  end
@@ -11,14 +11,13 @@ module Manticore
11
11
  # @!attribute [r] callback_result
12
12
  # @return Value returned from any given on_success/response block
13
13
  class Response
14
- include_package "org.apache.http.client"
15
- include_package "org.apache.http.util"
16
- include_package "org.apache.http.protocol"
14
+
15
+ java_import "org.apache.http.client.ResponseHandler"
17
16
  java_import "org.apache.http.client.protocol.HttpClientContext"
18
- java_import "java.util.concurrent.Callable"
17
+ java_import "org.apache.http.protocol.ExecutionContext"
19
18
 
20
- include ResponseHandler
21
- include Callable
19
+ include org.apache.http.client.ResponseHandler
20
+ include java.util.concurrent.Callable
22
21
 
23
22
  attr_accessor :background
24
23
  attr_reader :context, :request, :callback_result, :called, :future
@@ -54,15 +53,16 @@ module Manticore
54
53
  ex = Manticore::ConnectTimeout
55
54
  rescue Java::JavaNet::SocketException => e
56
55
  ex = Manticore::SocketException
57
- rescue Java::OrgApacheHttpClient::ClientProtocolException, Java::JavaxNetSsl::SSLHandshakeException, Java::OrgApacheHttpConn::HttpHostConnectException,
58
- Java::OrgApacheHttp::NoHttpResponseException, Java::OrgApacheHttp::ConnectionClosedException => e
56
+ rescue Java::OrgApacheHttpClient::ClientProtocolException, Java::JavaxNetSsl::SSLHandshakeException,
57
+ Java::OrgApacheHttpConn::HttpHostConnectException, Java::OrgApacheHttp::NoHttpResponseException,
58
+ Java::OrgApacheHttp::ConnectionClosedException => e
59
59
  ex = Manticore::ClientProtocolException
60
60
  rescue Java::JavaNet::UnknownHostException => e
61
61
  ex = Manticore::ResolutionFailure
62
62
  rescue Java::JavaLang::IllegalArgumentException => e
63
63
  ex = Manticore::InvalidArgumentException
64
64
  rescue Java::JavaLang::IllegalStateException => e
65
- if e.message.match(/Connection pool shut down/)
65
+ if (e.message || '').index('Connection pool shut down')
66
66
  ex = Manticore::ClientStoppedException
67
67
  else
68
68
  @exception = e
@@ -75,7 +75,7 @@ module Manticore
75
75
 
76
76
  # TODO: If calling async, execute_complete may fail and then silently swallow exceptions. How do we fix that?
77
77
  if ex || @exception
78
- @exception ||= ex.new(e.cause || e.message)
78
+ @exception ||= ex.new(e)
79
79
  @handlers[:failure].call @exception
80
80
  execute_complete
81
81
  nil
@@ -90,8 +90,8 @@ module Manticore
90
90
  # @return [String]
91
91
  def final_url
92
92
  call_once
93
- last_request = context.get_attribute ExecutionContext.HTTP_REQUEST
94
- last_host = context.get_attribute ExecutionContext.HTTP_TARGET_HOST
93
+ last_request = context.get_attribute ExecutionContext::HTTP_REQUEST
94
+ last_host = context.get_attribute ExecutionContext::HTTP_TARGET_HOST
95
95
  host = last_host.to_uri
96
96
  url = last_request.get_uri
97
97
  URI.join(host, url.to_s)
@@ -1,3 +1,3 @@
1
1
  module Manticore
2
- VERSION = "0.6.4"
2
+ VERSION = "0.7.1"
3
3
  end
@@ -5,7 +5,11 @@ require "cgi"
5
5
  require_relative "./manticore_jars.rb"
6
6
  require_relative "./org/manticore/manticore-ext"
7
7
 
8
- org.manticore.Manticore.new.load(JRuby.runtime, false)
8
+ if defined? JRuby::Util.load_ext
9
+ JRuby::Util.load_ext 'org.manticore.Manticore'
10
+ else
11
+ org.manticore.Manticore.new.load(JRuby.runtime, false)
12
+ end
9
13
 
10
14
  require_relative "./manticore/version"
11
15
 
@@ -13,7 +17,27 @@ require_relative "./manticore/version"
13
17
  # with the beauty of Ruby.
14
18
  module Manticore
15
19
  # General base class for all Manticore exceptions
16
- class ManticoreException < StandardError; end
20
+ class ManticoreException < StandardError
21
+ def initialize(arg = nil)
22
+ case arg
23
+ when nil
24
+ @_cause = nil
25
+ super()
26
+ when java.lang.Throwable
27
+ @_cause = arg
28
+ super(arg.message)
29
+ else
30
+ @_cause = nil
31
+ super(arg)
32
+ end
33
+ end
34
+
35
+ # @return cause which is likely to be a Java exception
36
+ # @overload Exception#cause
37
+ def cause
38
+ @_cause || super
39
+ end
40
+ end
17
41
 
18
42
  # Exception thrown if you attempt to read from a closed Response stream
19
43
  class StreamClosedException < ManticoreException; end
@@ -19,6 +19,8 @@ Gem::Specification.new do |spec|
19
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
20
  spec.require_paths = ["lib"]
21
21
 
22
+ spec.required_ruby_version = '>= 2.3' # JRuby >= 9.1
23
+
22
24
  private_key = File.expand_path("~/.gemcert/gem-private_key.pem")
23
25
  if File.exists? private_key
24
26
  spec.signing_key = private_key
@@ -27,9 +29,9 @@ Gem::Specification.new do |spec|
27
29
 
28
30
  spec.add_dependency "openssl_pkcs8_pure"
29
31
 
30
- spec.add_development_dependency "bundler", "~> 1.3"
32
+ spec.add_development_dependency "bundler"
31
33
  spec.add_development_dependency "rake"
32
- spec.add_development_dependency "jar-dependencies"
34
+ spec.add_development_dependency "jar-dependencies", "~> 0.4.1"
33
35
 
34
36
  spec.requirements << "jar org.apache.httpcomponents:httpclient, '~> 4.5.0'"
35
37
  spec.requirements << "jar org.apache.httpcomponents:httpmime, '~> 4.5.0'"
@@ -130,7 +130,13 @@ describe Manticore::Client do
130
130
  let(:client) { Manticore::Client.new :ssl => {:verify => :strict} }
131
131
 
132
132
  it "breaks on SSL validation errors" do
133
- expect { client.get("https://localhost:55444/").call }.to raise_exception(Manticore::ClientProtocolException)
133
+ begin
134
+ client.get("https://localhost:55445/").body
135
+ rescue Manticore::ClientProtocolException => e
136
+ expect( e.cause ).to be_a javax.net.ssl.SSLHandshakeException
137
+ else
138
+ fail "exception not raised"
139
+ end
134
140
  end
135
141
  end
136
142
 
@@ -563,7 +569,7 @@ describe Manticore::Client do
563
569
  describe "#head" do
564
570
  it "works" do
565
571
  response = client.head(local_server)
566
- expect(JSON.load(response.body)).to be_nil
572
+ expect(response.body).to be_nil
567
573
  end
568
574
  end
569
575
 
@@ -830,7 +836,13 @@ describe Manticore::Client do
830
836
  let(:client) { Manticore::Client.new request_timeout: 1, connect_timeout: 1, socket_timeout: 1 }
831
837
 
832
838
  it "times out" do
833
- expect { client.get(local_server "/?sleep=2").body }.to raise_exception(Manticore::SocketTimeout)
839
+ begin
840
+ client.get(local_server "/?sleep=2").body
841
+ rescue Manticore::SocketTimeout => e
842
+ expect( e.cause ).to be_a java.net.SocketTimeoutException
843
+ else
844
+ fail "exception not raised"
845
+ end
834
846
  end
835
847
 
836
848
  it "times out when custom request options are passed" do
@@ -6,7 +6,7 @@ describe Manticore::Response do
6
6
 
7
7
  its(:headers) { is_expected.to be_a Hash }
8
8
  its(:body) { is_expected.to be_a String }
9
- its(:length) { is_expected.to be_a Fixnum }
9
+ its(:length) { is_expected.to be_a Integer }
10
10
 
11
11
  it "provides response header lookup via #[]" do
12
12
  expect(subject["Content-Type"]).to eq "application/json"
@@ -1,19 +1,20 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: manticore 0.6.4 java lib
2
+ # stub: manticore 0.7.1 java lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "manticore".freeze
6
- s.version = "0.6.4"
6
+ s.version = "0.7.1"
7
7
  s.platform = "java".freeze
8
8
 
9
9
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
10
10
  s.require_paths = ["lib".freeze]
11
11
  s.authors = ["Chris Heald".freeze]
12
- s.date = "2018-06-28"
12
+ s.date = "2021-08-18"
13
13
  s.description = "Manticore is an HTTP client built on the Apache HttpCore components".freeze
14
14
  s.email = ["cheald@mashable.com".freeze]
15
15
  s.homepage = "https://github.com/cheald/manticore".freeze
16
16
  s.licenses = ["MIT".freeze]
17
+ s.required_ruby_version = Gem::Requirement.new(">= 2.3".freeze)
17
18
  s.requirements = ["jar org.apache.httpcomponents:httpclient, '~> 4.5.0'".freeze, "jar org.apache.httpcomponents:httpmime, '~> 4.5.0'".freeze, "jar commons-logging:commons-logging, '~> 1.2'".freeze, "jar commons-codec:commons-codec, '~> 1.9'".freeze, "jar org.apache.httpcomponents:httpcore, '~> 4.4.4'".freeze]
18
19
  s.rubygems_version = "2.7.10".freeze
19
20
  s.summary = "Manticore is an HTTP client built on the Apache HttpCore components".freeze
@@ -25,19 +26,19 @@ Gem::Specification.new do |s|
25
26
 
26
27
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
27
28
  s.add_runtime_dependency(%q<openssl_pkcs8_pure>.freeze, [">= 0"])
28
- s.add_development_dependency(%q<bundler>.freeze, ["~> 1.3"])
29
+ s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
29
30
  s.add_development_dependency(%q<rake>.freeze, [">= 0"])
30
- s.add_development_dependency(%q<jar-dependencies>.freeze, [">= 0"])
31
+ s.add_development_dependency(%q<jar-dependencies>.freeze, ["~> 0.4.1"])
31
32
  else
32
33
  s.add_dependency(%q<openssl_pkcs8_pure>.freeze, [">= 0"])
33
- s.add_dependency(%q<bundler>.freeze, ["~> 1.3"])
34
+ s.add_dependency(%q<bundler>.freeze, [">= 0"])
34
35
  s.add_dependency(%q<rake>.freeze, [">= 0"])
35
- s.add_dependency(%q<jar-dependencies>.freeze, [">= 0"])
36
+ s.add_dependency(%q<jar-dependencies>.freeze, ["~> 0.4.1"])
36
37
  end
37
38
  else
38
39
  s.add_dependency(%q<openssl_pkcs8_pure>.freeze, [">= 0"])
39
- s.add_dependency(%q<bundler>.freeze, ["~> 1.3"])
40
+ s.add_dependency(%q<bundler>.freeze, [">= 0"])
40
41
  s.add_dependency(%q<rake>.freeze, [">= 0"])
41
- s.add_dependency(%q<jar-dependencies>.freeze, [">= 0"])
42
+ s.add_dependency(%q<jar-dependencies>.freeze, ["~> 0.4.1"])
42
43
  end
43
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-scalyr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.21.beta
4
+ version: 0.1.22.beta
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edward Chee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-16 00:00:00.000000000 Z
11
+ date: 2021-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -179,7 +179,7 @@ files:
179
179
  - vendor/bundle/jruby/2.5.0/cache/logstash-core-5.6.4-java.gem
180
180
  - vendor/bundle/jruby/2.5.0/cache/logstash-core-plugin-api-2.1.28-java.gem
181
181
  - vendor/bundle/jruby/2.5.0/cache/logstash-devutils-1.3.6-java.gem
182
- - vendor/bundle/jruby/2.5.0/cache/manticore-0.6.4-java.gem
182
+ - vendor/bundle/jruby/2.5.0/cache/manticore-0.7.1-java.gem
183
183
  - vendor/bundle/jruby/2.5.0/cache/method_source-0.8.2.gem
184
184
  - vendor/bundle/jruby/2.5.0/cache/minitar-0.5.4.gem
185
185
  - vendor/bundle/jruby/2.5.0/cache/multi_json-1.13.1.gem
@@ -2202,41 +2202,41 @@ files:
2202
2202
  - vendor/bundle/jruby/2.5.0/gems/logstash-devutils-1.3.6-java/lib/logstash/devutils/rspec/shared_examples.rb
2203
2203
  - vendor/bundle/jruby/2.5.0/gems/logstash-devutils-1.3.6-java/lib/logstash/devutils/rspec/spec_helper.rb
2204
2204
  - vendor/bundle/jruby/2.5.0/gems/logstash-devutils-1.3.6-java/logstash-devutils.gemspec
2205
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/APACHE-LICENSE-2.0.txt
2206
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/CHANGELOG.md
2207
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/Gemfile
2208
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/LICENSE.txt
2209
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/README.md
2210
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/Rakefile
2211
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/ext/manticore/org/manticore/HttpDeleteWithEntity.java
2212
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/ext/manticore/org/manticore/HttpGetWithEntity.java
2213
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/ext/manticore/org/manticore/Manticore.java
2214
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/gem-public_cert.pem
2215
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/commons-codec/commons-codec/1.10/commons-codec-1.10.jar
2216
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
2217
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/faraday/adapter/manticore.rb
2218
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/manticore.rb
2219
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/manticore/client.rb
2220
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/manticore/client/proxies.rb
2221
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/manticore/cookie.rb
2222
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/manticore/facade.rb
2223
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/manticore/java_extensions.rb
2224
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/manticore/response.rb
2225
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/manticore/stubbed_response.rb
2226
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/manticore/version.rb
2227
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/manticore_jars.rb
2228
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/org/apache/httpcomponents/httpclient/4.5.2/httpclient-4.5.2.jar
2229
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/org/apache/httpcomponents/httpcore/4.4.4/httpcore-4.4.4.jar
2230
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/org/apache/httpcomponents/httpmime/4.5.2/httpmime-4.5.2.jar
2231
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/lib/org/manticore/manticore-ext.jar
2232
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/manticore.gemspec
2233
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/spec/manticore/client_proxy_spec.rb
2234
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/spec/manticore/client_spec.rb
2235
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/spec/manticore/cookie_spec.rb
2236
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/spec/manticore/facade_spec.rb
2237
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/spec/manticore/response_spec.rb
2238
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/spec/manticore/stubbed_response_spec.rb
2239
- - vendor/bundle/jruby/2.5.0/gems/manticore-0.6.4-java/spec/spec_helper.rb
2205
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/APACHE-LICENSE-2.0.txt
2206
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/CHANGELOG.md
2207
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/Gemfile
2208
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/LICENSE.txt
2209
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/README.md
2210
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/Rakefile
2211
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/ext/manticore/org/manticore/HttpDeleteWithEntity.java
2212
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/ext/manticore/org/manticore/HttpGetWithEntity.java
2213
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/ext/manticore/org/manticore/Manticore.java
2214
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/gem-public_cert.pem
2215
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/commons-codec/commons-codec/1.10/commons-codec-1.10.jar
2216
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
2217
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/faraday/adapter/manticore.rb
2218
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/manticore.rb
2219
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/manticore/client.rb
2220
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/manticore/client/proxies.rb
2221
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/manticore/cookie.rb
2222
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/manticore/facade.rb
2223
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/manticore/java_extensions.rb
2224
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/manticore/response.rb
2225
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/manticore/stubbed_response.rb
2226
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/manticore/version.rb
2227
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/manticore_jars.rb
2228
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/org/apache/httpcomponents/httpclient/4.5.2/httpclient-4.5.2.jar
2229
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/org/apache/httpcomponents/httpcore/4.4.4/httpcore-4.4.4.jar
2230
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/org/apache/httpcomponents/httpmime/4.5.2/httpmime-4.5.2.jar
2231
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/lib/org/manticore/manticore-ext.jar
2232
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/manticore.gemspec
2233
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/spec/manticore/client_proxy_spec.rb
2234
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/spec/manticore/client_spec.rb
2235
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/spec/manticore/cookie_spec.rb
2236
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/spec/manticore/facade_spec.rb
2237
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/spec/manticore/response_spec.rb
2238
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/spec/manticore/stubbed_response_spec.rb
2239
+ - vendor/bundle/jruby/2.5.0/gems/manticore-0.7.1-java/spec/spec_helper.rb
2240
2240
  - vendor/bundle/jruby/2.5.0/gems/method_source-0.8.2/Gemfile
2241
2241
  - vendor/bundle/jruby/2.5.0/gems/method_source-0.8.2/LICENSE
2242
2242
  - vendor/bundle/jruby/2.5.0/gems/method_source-0.8.2/README.markdown
@@ -4000,7 +4000,7 @@ files:
4000
4000
  - vendor/bundle/jruby/2.5.0/specifications/logstash-core-5.6.4-java.gemspec
4001
4001
  - vendor/bundle/jruby/2.5.0/specifications/logstash-core-plugin-api-2.1.28-java.gemspec
4002
4002
  - vendor/bundle/jruby/2.5.0/specifications/logstash-devutils-1.3.6-java.gemspec
4003
- - vendor/bundle/jruby/2.5.0/specifications/manticore-0.6.4-java.gemspec
4003
+ - vendor/bundle/jruby/2.5.0/specifications/manticore-0.7.1-java.gemspec
4004
4004
  - vendor/bundle/jruby/2.5.0/specifications/method_source-0.8.2.gemspec
4005
4005
  - vendor/bundle/jruby/2.5.0/specifications/minitar-0.5.4.gemspec
4006
4006
  - vendor/bundle/jruby/2.5.0/specifications/multi_json-1.13.1.gemspec