pigeon-http 0.1.2 → 0.1.3

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: 0d0a8d8356178871727e2d25a3b1a2a1a5fda626eecbe211ec490a5dd409d0d2
4
- data.tar.gz: abf63f3e951ba0926eb9034c415c3d847a92d47dd49bfea3b8468e0ec2831865
3
+ metadata.gz: 7b49e953d40948596cfea066d3002efb0e612ece45ce6b8bcdd1f25772d329ed
4
+ data.tar.gz: fc38bffab847cd7c37b13e0009bd11a61e039ceaf87fd8495833ec2228861317
5
5
  SHA512:
6
- metadata.gz: afc39ba93e631f18c1be2e9f6d701d684e330a13aa53c877f990eb8707f2190869fb968751c3e8cf601abb4a234f738eee3d2c1febecc45acd448311d90ab472
7
- data.tar.gz: f4478906d6e9c95e48e38276a2d5e679fa9851f9adcf9fc5f875279a95fc242bc0480f6cb2f60447f497e37baad1762665543904f30f1c5e0da0daa5f9389a70
6
+ metadata.gz: 2296d57aabe77db0a39cf9ef06abdbff05160b8a72fd16b910407e3c42075d8132c289ab9568942ccee5c44af51a96a43e020b01186f49225121e4d9a4f9e852
7
+ data.tar.gz: ff378ba4eb6137df6e43bf6355bc77882d0d4520c9ec9132ec8b64d5742ab5ecde89faeaf6bc0a72f7651130a8e8fd424aa941af4eb3a8450146821926fe224a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pigeon-http (0.1.2)
4
+ pigeon-http (0.1.3)
5
5
  circuitbox
6
6
  ddtrace
7
7
  dogstatsd-ruby
data/lib/pigeon/core.rb CHANGED
@@ -18,10 +18,11 @@ rescue LoadError => e
18
18
  end
19
19
 
20
20
  module Pigeon
21
- VALID_OPTIONS = %w[request_timeout request_open_timeout ssl_verify volume_threshold error_threshold time_window sleep_window retryable retry_threshold].freeze
21
+ VALID_OPTIONS = %w[environment request_timeout request_open_timeout ssl_verify volume_threshold error_threshold time_window sleep_window retryable retry_threshold monitoring monitoring_type].freeze
22
22
  VALID_CALLBACKS = %w[CircuitBreakerOpen CircuitBreakerClose HttpSuccess HttpError RetrySuccess RetryFailure]
23
23
 
24
24
  DEFAULT_OPTIONS = {
25
+ environment: 'default',
25
26
  request_name: 'pigeon_default',
26
27
  request_timeout: 60,
27
28
  request_open_timeout: 0,
@@ -32,7 +33,8 @@ module Pigeon
32
33
  sleep_window: 10,
33
34
  retryable: true,
34
35
  retry_threshold: 3,
35
- monitoring: false
36
+ monitoring: false,
37
+ monitoring_type: 'datadog'
36
38
  }
37
39
  DEFAULT_CALLBACKS = {
38
40
  CircuitBreakerOpen: nil,
@@ -69,6 +71,11 @@ module Pigeon
69
71
  end
70
72
  end
71
73
 
74
+ def config key, value
75
+ raise Error::Argument, "unknown option #{key}" unless VALID_OPTIONS.include?(key.to_s)
76
+ @options[key.to_sym] = value
77
+ end
78
+
72
79
  def get url, args = {}
73
80
  start = Time.now
74
81
  response = http(:get, url, args)
@@ -82,7 +89,6 @@ module Pigeon
82
89
  def post url, args = {}
83
90
  start = Time.now
84
91
  response = http(:post, url, args)
85
- puts @options
86
92
  Pigeon::Statsd.new(@options[:request_name] + '_latency', tags: [url]).capture(action: :histogram, count: (Time.now - start)) unless @options[:monitoring]
87
93
 
88
94
  response
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Pigeon
4
- VERSION = '0.1.2'
4
+ VERSION = '0.1.3'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pigeon-http
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fitra Aditya
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-08 00:00:00.000000000 Z
11
+ date: 2023-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: circuitbox