net-http-middleware 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +10 -4
- data/lib/net/http/middleware.rb +1 -1
- data/lib/net/http/middleware/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7895642e0d48e927c411d3562e2ab0fbe98c79f1
|
4
|
+
data.tar.gz: 30a5b23c3c2633bf747a0e905f65af7ed588afbc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da6cdc8cf335bbe75bfe8ed1f4593e41dddc920ea345f4a2a4e0056e9ce2a9623c7239d9cce07b60f3c8947c94e0bd7bc900aa5558ba48bbca12840d7f3a567a
|
7
|
+
data.tar.gz: 9dbf4320b9aadc8d5248e22f468daac58ac1062a66da436967447f7ce3816925c291507343337118877be299d5ca3a05465cfbd32a1be3a7d27c4ae45628bf4c
|
data/README.md
CHANGED
@@ -4,6 +4,11 @@ Middlewares for Net::HTTP request method.
|
|
4
4
|
|
5
5
|
## Usage
|
6
6
|
|
7
|
+
There are couple of requirements for middleware to be implemented
|
8
|
+
1. Chain as a first argument for initializer of your middleware
|
9
|
+
2. 2 params for call: Request-object and body to be passed to call
|
10
|
+
3. Return the result of @chain.call(req, body)
|
11
|
+
|
7
12
|
```ruby
|
8
13
|
# Example of tracer, which will add header to each outgoing request
|
9
14
|
class OpenTraceId
|
@@ -11,9 +16,9 @@ class OpenTraceId
|
|
11
16
|
@chain = chain
|
12
17
|
end
|
13
18
|
|
14
|
-
def call(req, body = nil
|
19
|
+
def call(req, body = nil)
|
15
20
|
request.add_field('X-Custom-CrossService-RequestId', SecureRandom.uuid)
|
16
|
-
@chain.call(req, body
|
21
|
+
@chain.call(req, body)
|
17
22
|
end
|
18
23
|
end
|
19
24
|
|
@@ -24,14 +29,15 @@ class LogRequest
|
|
24
29
|
@logger = logger
|
25
30
|
end
|
26
31
|
|
27
|
-
def call(req, body = nil
|
32
|
+
def call(req, body = nil)
|
28
33
|
@logger.info('We log before')
|
29
|
-
response = @chain.call(req, body
|
34
|
+
response = @chain.call(req, body)
|
30
35
|
@logger.info('We log after')
|
31
36
|
response
|
32
37
|
end
|
33
38
|
end
|
34
39
|
|
40
|
+
require 'net/http/middleware'
|
35
41
|
# Adding middlewares to configurator
|
36
42
|
Net::HTTP.configure_middleware do |chain|
|
37
43
|
chain.use LogRequest, Logger.new(STDOUT)
|
data/lib/net/http/middleware.rb
CHANGED
@@ -15,7 +15,7 @@ module Net
|
|
15
15
|
alias_method(:orig_request, :request) unless method_defined?(:orig_request)
|
16
16
|
|
17
17
|
def request(req, body = nil, &block)
|
18
|
-
Net::HTTP.middleware_chain.call(req, body
|
18
|
+
Net::HTTP.middleware_chain.call(req, body) do
|
19
19
|
orig_request(req, body, &block)
|
20
20
|
end
|
21
21
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-http-middleware
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Shamatov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-08-
|
11
|
+
date: 2017-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|