tshield 0.11.18.0 → 0.11.19.0
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/README.md +1 -2
- data/lib/tshield/grpc/vcr.rb +5 -2
- data/lib/tshield/sessions.rb +3 -1
- data/lib/tshield/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7be1450b970496e9bc17514f42fcda00e98cf8e0b5e269b54b809f38e752653
|
4
|
+
data.tar.gz: fd139f9746a3cd6470aec409b809f0d62b6af0915ca0db910a64a7470ad6f44b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9727017f7c245277e64ab4bb4eca0a82f08eaf8ceb0c4b4424693f42dc2267eb0420ea15b557adadba4a69eb3116e7fca60717686a641b8602e77a4d99f183e
|
7
|
+
data.tar.gz: c4d633f5d08a2801de7e30e56a2a947b64d3e91db13ca803689a2f05d15053812eeb82585f7058e6a0a2ee9a72170b9d0f5f44557c751f7ce77800073aa23f2e
|
data/README.md
CHANGED
@@ -13,7 +13,7 @@ TShield is an open source proxy for mocks API responses.
|
|
13
13
|
* REST
|
14
14
|
* SOAP
|
15
15
|
* Session manager to separate multiple scenarios (success, error, sucess variation, ...)
|
16
|
-
|
16
|
+
* gRPC [EXPERIMENTAL]
|
17
17
|
* Lightweight
|
18
18
|
* MIT license
|
19
19
|
|
@@ -265,7 +265,6 @@ grpc:
|
|
265
265
|
|
266
266
|
### Not Implemented Yet
|
267
267
|
|
268
|
-
- Sessions
|
269
268
|
- Matching
|
270
269
|
|
271
270
|
### Configuration
|
data/lib/tshield/grpc/vcr.rb
CHANGED
@@ -6,8 +6,11 @@ module TShield
|
|
6
6
|
module Grpc
|
7
7
|
module VCR
|
8
8
|
def handler_in_vcr_mode(method_name, request, parameters, options)
|
9
|
-
parameters.peer =~
|
10
|
-
|
9
|
+
parameters.peer =~ /ipv6:\[(.+?)\]|ipv4:(.+?):/
|
10
|
+
peer = Regexp.last_match(1) || Regexp.last_match(2)
|
11
|
+
|
12
|
+
TShield.logger.info("request from #{parameters.peer}")
|
13
|
+
@session = TShield::Sessions.current(peer)
|
11
14
|
|
12
15
|
TShield.logger.info("grpc using session #{@session || 'default'}")
|
13
16
|
module_name = options['module']
|
data/lib/tshield/sessions.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'byebug'
|
4
3
|
require 'tshield/counter'
|
5
4
|
|
6
5
|
module TShield
|
@@ -9,14 +8,17 @@ module TShield
|
|
9
8
|
# Start and stop session for ip
|
10
9
|
module Sessions
|
11
10
|
def self.start(ip, name)
|
11
|
+
TShield.logger.info("starting session #{name} for ip #{normalize_ip(ip)}")
|
12
12
|
sessions[normalize_ip(ip)] = { name: name, counter: TShield::Counter.new }
|
13
13
|
end
|
14
14
|
|
15
15
|
def self.stop(ip)
|
16
|
+
TShield.logger.info("stoping session for ip #{normalize_ip(ip)}")
|
16
17
|
sessions[normalize_ip(ip)] = nil
|
17
18
|
end
|
18
19
|
|
19
20
|
def self.current(ip)
|
21
|
+
TShield.logger.info("fetching session for ip #{normalize_ip(ip)}")
|
20
22
|
sessions[normalize_ip(ip)]
|
21
23
|
end
|
22
24
|
|
data/lib/tshield/version.rb
CHANGED