rester 0.5.2 → 0.5.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
  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