pigeon-http 0.1.2 → 0.1.3

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
  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