rester 0.5.2 → 0.5.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
  SHA1:
3
- metadata.gz: 9bb523b9b23530a59e8bc2a8fc8463324739b59d
4
- data.tar.gz: 26d4a6f4cd0de0417b470357488c0ed941e8f8a8
3
+ metadata.gz: 3b1b078a9a8b96e20d3696c745045d29318a91d1
4
+ data.tar.gz: cbd9a3d38d93f5d561410adeda08032a5e6ff3e6
5
5
  SHA512:
6
- metadata.gz: 9456f4f73aa5e8516e3731a273954a254735de21025dcdac36e70209e922f1ce4ee335b865a32efb4c01e6225ddfbd4161c3d89cc85096bd02521b09c6c5b3eb
7
- data.tar.gz: 1ad4848eb57cd9770a6c9185c4b9f136111083a258ec9bff59addd160801e6e2865c02623ddbae1b4fb6bebe5152080b3566389cf5d3497d2ec1d51406936713
6
+ metadata.gz: b7a84b105b14c90d3418d8f83fdbd0d5ce5814c1ce27d2cc813e8a43d58801cf800834e2dce7da45303f7dcb74d91a186abf1e735575272e400b1d68a345919a
7
+ data.tar.gz: 2d4a18a37b90f58a8cf3a06e917c9719a8a0269c71e089ba2cce160a0e87fcfd908a7ce9818b4262a8076e9929813d630d953ca3c6e1e2e143f66562679876aa
@@ -2,12 +2,11 @@ module Rester
2
2
  module Client::Middleware
3
3
  class RequestHandler < Base
4
4
  def call(env)
5
- Rester.begin_request
6
- Rester.correlation_id = SecureRandom.uuid
7
- Rester.request_info[:consumer_name] = Rester.service_name
8
- super
9
- ensure
10
- Rester.end_request
5
+ Rester.wrap_request do
6
+ Rester.correlation_id = SecureRandom.uuid
7
+ Rester.request_info[:consumer_name] = Rester.service_name
8
+ super
9
+ end
11
10
  end
12
11
  end # RequestHandlers
13
12
  end # Client::Middleware
data/lib/rester/client.rb CHANGED
@@ -35,7 +35,8 @@ module Rester
35
35
 
36
36
  def connected?
37
37
  adapter.connected? && @_requester.call(:get, '/ping', {}).successful?
38
- rescue
38
+ rescue Exception => e
39
+ logger.error("Connection Error: #{e.inspect}")
39
40
  false
40
41
  end
41
42
 
@@ -122,15 +123,17 @@ module Rester
122
123
  ##
123
124
  # Add a correlation ID to the header and send the request to the adapter
124
125
  def _request(verb, path, params)
125
- Rester.request_info[:producer_name] = name
126
- Rester.request_info[:path] = path
127
- Rester.request_info[:verb] = verb
128
- logger.info('sending request')
129
-
130
- _set_default_headers
131
- start_time = Time.now.to_f
132
- response = adapter.request(verb, path, params)
133
- _process_response(start_time, verb, path, *response)
126
+ Rester.wrap_request do
127
+ Rester.request_info[:producer_name] = name
128
+ Rester.request_info[:path] = path
129
+ Rester.request_info[:verb] = verb
130
+ logger.info('sending request')
131
+
132
+ _set_default_headers
133
+ start_time = Time.now.to_f
134
+ response = adapter.request(verb, path, params)
135
+ _process_response(start_time, verb, path, *response)
136
+ end
134
137
  end
135
138
 
136
139
  def _set_default_headers
@@ -5,25 +5,24 @@ module Rester
5
5
  # perform the necessary logging. Cleanup the request once it's complete.
6
6
  class RequestHandler < Base
7
7
  def call(env)
8
- Rester.begin_request
9
- Rester.request = request = Rester::Service::Request.new(env)
10
- Rester.correlation_id = request.correlation_id
11
- Rester.request_info[:producer_name] = service.name
12
- Rester.request_info[:consumer_name] = request.consumer_name
13
- Rester.request_info[:path] = request.path_info
14
- Rester.request_info[:verb] = request.request_method
8
+ Rester.wrap_request do
9
+ Rester.request = request = Rester::Service::Request.new(env)
10
+ Rester.correlation_id = request.correlation_id
11
+ Rester.request_info[:producer_name] = service.name
12
+ Rester.request_info[:consumer_name] = request.consumer_name
13
+ Rester.request_info[:path] = request.path_info
14
+ Rester.request_info[:verb] = request.request_method
15
15
 
16
- service.logger.info('request received')
16
+ service.logger.info('request received')
17
17
 
18
- start_time = Time.now.to_f
19
- super.tap { |response|
20
- elapsed_ms = (Time.now.to_f - start_time) * 1000
21
- response[1]["X-Rester-Producer-Name"] = service.name
22
- service.logger.info("responding with #{response[0]} after %0.3fms" %
23
- elapsed_ms)
24
- }
25
- ensure
26
- Rester.end_request
18
+ start_time = Time.now.to_f
19
+ super.tap { |response|
20
+ elapsed_ms = (Time.now.to_f - start_time) * 1000
21
+ response[1]["X-Rester-Producer-Name"] = service.name
22
+ service.logger.info("responding with #{response[0]} after %0.3fms" %
23
+ elapsed_ms)
24
+ }
25
+ end
27
26
  end
28
27
  end # RequestHandler
29
28
  end # Service::Middleware
@@ -1,3 +1,3 @@
1
1
  module Rester
2
- VERSION = '0.5.2'
2
+ VERSION = '0.5.3'
3
3
  end
data/lib/rester.rb CHANGED
@@ -47,12 +47,15 @@ module Rester
47
47
  @_service_name = name
48
48
  end
49
49
 
50
- def begin_request
51
- self.request_info = {}
52
- end
53
-
54
- def end_request
55
- self.request_info = nil
50
+ ##
51
+ # Used to manage the thread-safe `Rester.request_info` object.
52
+ def wrap_request
53
+ outer_most = !request_info
54
+
55
+ self.request_info = {} if outer_most
56
+ yield
57
+ ensure
58
+ self.request_info = nil if outer_most
56
59
  end
57
60
 
58
61
  def processing_request?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rester
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Honer