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 +4 -4
- data/lib/rester/client/middleware/request_handler.rb +5 -6
- data/lib/rester/client.rb +13 -10
- data/lib/rester/service/middleware/request_handler.rb +16 -17
- data/lib/rester/version.rb +1 -1
- data/lib/rester.rb +9 -6
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b1b078a9a8b96e20d3696c745045d29318a91d1
|
4
|
+
data.tar.gz: cbd9a3d38d93f5d561410adeda08032a5e6ff3e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
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.
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
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.
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
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
|
-
|
16
|
+
service.logger.info('request received')
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
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
|
data/lib/rester/version.rb
CHANGED
data/lib/rester.rb
CHANGED
@@ -47,12 +47,15 @@ module Rester
|
|
47
47
|
@_service_name = name
|
48
48
|
end
|
49
49
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
self.request_info =
|
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?
|