tshield 0.11.18.0 → 0.11.19.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 +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