libhoney 1.13.6 → 1.14.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0be20329ad84cce8d218dfbf407b8727cc1d70a84df1c352e7b7d289fda2a31d
4
- data.tar.gz: d3de4c3a13653a71293a232ddc9b3285be5a3f991767a45c50baed5b70096d63
3
+ metadata.gz: acad70fa5327549aaf1faca4fff6eeab79cdc72e7bab0cd3b6eb44fad49f2333
4
+ data.tar.gz: 15fb1bdfaa6770ebe836764217a24f7f4410a38096409b7c3c64b775b4116349
5
5
  SHA512:
6
- metadata.gz: b4bc4d9075898cfcedc07403fd33b989c849c722580d3796a76eaab4c8417cbbc05807604dfca1699954ccfee1ad445ef32664b78439ba968fd60996e296b9b1
7
- data.tar.gz: 3ab2bbeed576eefca8d9f77c36a287519b888c8ec803db220cc5b144aa5d310d39d03fbeb82b4290328eace8445b7da2ab2942ed3872fd5c01d301b0c53338d0
6
+ metadata.gz: e7a813d6e5b8a0f25f70f3e978a9b9a42e169f62d9b740829e784cf4f92c48531800fc93b69aa8f1aee4f6acebef0f648405db66418ca38e39c46042d02214d8
7
+ data.tar.gz: 4d764b9c4bfb0b244bb5bf97275730b77c5e70d7720bfeac2cac39ae5d2a858b9fe5ed935379a08ee77a827b29262f787c9fd8ad1ae5ae529efa20fa8a03626e
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- libhoney (1.13.6)
4
+ libhoney (1.14.0)
5
5
  addressable (~> 2.0)
6
6
  http (>= 2.0, < 5.0)
7
7
 
@@ -61,6 +61,7 @@ GEM
61
61
  rack-protection (= 2.0.5)
62
62
  sinatra (= 2.0.5)
63
63
  tilt (>= 1.3, < 3)
64
+ spy (1.0.0)
64
65
  tilt (2.0.9)
65
66
  unf (0.1.4)
66
67
  unf_ext
@@ -86,9 +87,10 @@ DEPENDENCIES
86
87
  rubocop (< 0.69)
87
88
  sinatra
88
89
  sinatra-contrib
90
+ spy
89
91
  webmock (~> 3.4)
90
92
  yard
91
93
  yardstick (~> 0.9)
92
94
 
93
95
  BUNDLED WITH
94
- 1.17.2
96
+ 1.17.3
@@ -70,6 +70,7 @@ module Libhoney
70
70
  # @param block_on_responses [Boolean] if true, block if there is no thread reading from the response queue
71
71
  # @param pending_work_capacity [Fixnum] defaults to 1000. If the queue of
72
72
  # pending events exceeds 1000, this client will start dropping events.
73
+ # rubocop:disable Metrics/ParameterLists
73
74
  def initialize(writekey: nil,
74
75
  dataset: nil,
75
76
  sample_rate: 1,
@@ -81,7 +82,9 @@ module Libhoney
81
82
  max_batch_size: 50,
82
83
  send_frequency: 100,
83
84
  max_concurrent_batches: 10,
84
- pending_work_capacity: 1000)
85
+ pending_work_capacity: 1000,
86
+ proxy_config: nil)
87
+ # rubocop:enable Metrics/ParameterLists
85
88
  # check for insanity
86
89
  raise Exception, 'libhoney: max_concurrent_batches must be greater than 0' if max_concurrent_batches < 1
87
90
  raise Exception, 'libhoney: sample rate must be greater than 0' if sample_rate < 1
@@ -118,6 +121,7 @@ module Libhoney
118
121
  @pending_work_capacity = pending_work_capacity
119
122
  @responses = SizedQueue.new(2 * @pending_work_capacity)
120
123
  @lock = Mutex.new
124
+ @proxy_config = proxy_config
121
125
  end
122
126
 
123
127
  builder_attr_accessor :writekey, :dataset, :sample_rate, :api_host
@@ -221,7 +225,8 @@ module Libhoney
221
225
  responses: @responses,
222
226
  block_on_send: @block_on_send,
223
227
  block_on_responses: @block_on_responses,
224
- user_agent_addition: @user_agent_addition
228
+ user_agent_addition: @user_agent_addition,
229
+ proxy_config: @proxy_config
225
230
  }
226
231
 
227
232
  @transmission ||= TransmissionClient.new(transmission_client_params)
@@ -13,7 +13,8 @@ module Libhoney
13
13
  responses: nil,
14
14
  block_on_send: false,
15
15
  block_on_responses: false,
16
- user_agent_addition: nil)
16
+ user_agent_addition: nil,
17
+ proxy_config: nil)
17
18
 
18
19
  @responses = responses || SizedQueue.new(pending_work_capacity * 2)
19
20
  @block_on_send = block_on_send
@@ -25,6 +26,7 @@ module Libhoney
25
26
  @pending_work_capacity = pending_work_capacity
26
27
  @send_timeout = send_timeout
27
28
  @user_agent = build_user_agent(user_agent_addition).freeze
29
+ @proxy_config = proxy_config
28
30
 
29
31
  @send_queue = Queue.new
30
32
  @threads = []
@@ -227,12 +229,15 @@ module Libhoney
227
229
 
228
230
  def build_http_clients
229
231
  Hash.new do |h, api_host|
230
- h[api_host] = HTTP.timeout(connect: @send_timeout, write: @send_timeout, read: @send_timeout)
231
- .persistent(api_host)
232
- .headers(
233
- 'User-Agent' => @user_agent,
234
- 'Content-Type' => 'application/json'
235
- )
232
+ client = HTTP.timeout(connect: @send_timeout, write: @send_timeout, read: @send_timeout)
233
+ .persistent(api_host)
234
+ .headers(
235
+ 'User-Agent' => @user_agent,
236
+ 'Content-Type' => 'application/json'
237
+ )
238
+
239
+ client = client.via(*@proxy_config) unless @proxy_config.nil?
240
+ h[api_host] = client
236
241
  end
237
242
  end
238
243
  end
@@ -1,3 +1,3 @@
1
1
  module Libhoney
2
- VERSION = '1.13.6'.freeze
2
+ VERSION = '1.14.0'.freeze
3
3
  end
@@ -29,6 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.add_development_dependency 'rubocop', '< 0.69'
30
30
  spec.add_development_dependency 'sinatra'
31
31
  spec.add_development_dependency 'sinatra-contrib'
32
+ spec.add_development_dependency 'spy'
32
33
  spec.add_development_dependency 'webmock', '~> 3.4'
33
34
  spec.add_development_dependency 'yard'
34
35
  spec.add_development_dependency 'yardstick', '~> 0.9'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libhoney
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.13.6
4
+ version: 1.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Honeycomb.io Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-23 00:00:00.000000000 Z
11
+ date: 2019-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bump
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: spy
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: webmock
113
127
  requirement: !ruby/object:Gem::Requirement