semian 0.7.0 → 0.7.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: '084b4a21e0290cba65079b0490496da902f49b4c'
4
- data.tar.gz: 07b2fda101604725efad2e5b9c6d478af5792b6b
3
+ metadata.gz: 5d7a8e836a1f026b0dc5afcf4454f9949fcb44e0
4
+ data.tar.gz: 68858abd9489ecb207656472ff910a7f6ad824ce
5
5
  SHA512:
6
- metadata.gz: 3c351bf24c90d6ccd7b4b15e055451543d218608f663dc229b99fd533a06f731606ecabf93a101f206938b7f39113d447dbb35b234a5ba6b31d603154b1e3c06
7
- data.tar.gz: cc23e70d1c25cb10ed075a35b1f184caf07d5c5939e98ad5412cfd4da5a36bb5364811e46e020fbe2a56d93036cf3c0606e14d975519aca3bc391d5d6195a43f
6
+ metadata.gz: 1cacd63d08f2fc3b7f42509295b3735ed8948c9185a8a236af5be737226e89dbf7614eec29f6f7d3d26cce5e05f66a6ef3a550b5081c1e0736575427702b912b
7
+ data.tar.gz: f736999b06d706947b2ba81170c4fbd1f5b6d2fa909c4058d60806e918cea1bad5d6757726929feb1f8fa382d8a013f9ac6827527067dff6cb886a27c3e282e7
@@ -45,8 +45,8 @@ module Semian
45
45
 
46
46
  # The naked methods are exposed as `raw_query` and `raw_connect` for instrumentation purpose
47
47
  def self.included(base)
48
- base.send(:alias_method, :raw_request, :request)
49
- base.send(:remove_method, :request)
48
+ base.send(:alias_method, :raw_transport_request, :transport_request)
49
+ base.send(:remove_method, :transport_request)
50
50
 
51
51
  base.send(:alias_method, :raw_connect, :connect)
52
52
  base.send(:remove_method, :connect)
@@ -92,9 +92,20 @@ module Semian
92
92
  acquire_semian_resource(adapter: :http, scope: :connection) { raw_connect }
93
93
  end
94
94
 
95
- def request(req, body = nil, &block)
96
- return raw_request(req, body, &block) if disabled?
97
- acquire_semian_resource(adapter: :http, scope: :query) { raw_request(req, body, &block) }
95
+ def transport_request(req, &block)
96
+ return raw_transport_request(req, &block) if disabled?
97
+ acquire_semian_resource(adapter: :http, scope: :query) do
98
+ res = raw_transport_request(req, &block)
99
+ handle_error_responses(res)
100
+ res
101
+ end
102
+ end
103
+
104
+ private
105
+
106
+ def handle_error_responses(res)
107
+ return unless raw_semian_options.fetch(:open_circuit_server_errors, false)
108
+ semian_resource.mark_failed(res) if res.is_a?(::Net::HTTPServerError)
98
109
  end
99
110
  end
100
111
  end
@@ -1,3 +1,3 @@
1
1
  module Semian
2
- VERSION = '0.7.0'
2
+ VERSION = '0.7.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: semian
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Francis
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-06-19 00:00:00.000000000 Z
13
+ date: 2017-06-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake-compiler