tshield 0.11.9.0 → 0.11.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/lib/tshield/controllers/requests.rb +3 -3
- data/lib/tshield/request_vcr.rb +11 -10
- data/lib/tshield/server.rb +18 -0
- data/lib/tshield/version.rb +1 -1
- data/tshield.gemspec +3 -1
- metadata +48 -9
- data/config/tshield.yml +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6ed543aa8bab1fff2c4d75d7479b7af0b3e2f06432330a697b6808048466228
|
4
|
+
data.tar.gz: d14d318efb407d1a927cb2c5ac745081531c307f011d873965793c77ec0fd1b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a46edf78463d75e523fd842397bae66e749dc58cd31d5fab8500dab706028850963d8e84f366706e0aef7807f45283d74ad785379f38b9b144d40b801681155
|
7
|
+
data.tar.gz: 2eafe43d7acd092e04ff7b7dc1f2fcdd6dc7de2789a7f10e441bda3b72e838e13df86b8193ec7f3cbbd30a7f43a5880ce4c1629faf313ee3db3363695858aee0
|
data/Gemfile
CHANGED
@@ -65,7 +65,7 @@ module TShield
|
|
65
65
|
api_response = TShield::RequestMatching.new(path, options.clone).match_request
|
66
66
|
|
67
67
|
unless api_response
|
68
|
-
add_headers(
|
68
|
+
add_headers(options, path)
|
69
69
|
|
70
70
|
api_response ||= TShield::RequestVCR.new(path, options.clone).response
|
71
71
|
api_response.headers.reject! do |key, _v|
|
@@ -85,9 +85,9 @@ module TShield
|
|
85
85
|
body api_response.body
|
86
86
|
end
|
87
87
|
|
88
|
-
def add_headers(
|
88
|
+
def add_headers(options, path)
|
89
89
|
(configuration.get_headers(domain(path)) || {}).each do |source, destiny|
|
90
|
-
headers[destiny] = request.env[source] if request.env[source]
|
90
|
+
options[:headers][destiny] = request.env[source] if request.env[source]
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
data/lib/tshield/request_vcr.rb
CHANGED
@@ -31,24 +31,25 @@ module TShield
|
|
31
31
|
|
32
32
|
@url = "#{domain}#{@path}"
|
33
33
|
|
34
|
+
configuration.get_before_filters(domain).each do |filter|
|
35
|
+
_method, @url, @options = filter.new.filter(method, @url, @options)
|
36
|
+
end
|
37
|
+
|
34
38
|
if exists
|
35
39
|
response.original = false
|
36
|
-
response
|
40
|
+
resp = response
|
37
41
|
else
|
38
|
-
configuration.get_before_filters(domain).each do |filter|
|
39
|
-
_method, @url, @options = filter.new.filter(method, @url, @options)
|
40
|
-
end
|
41
|
-
|
42
42
|
raw = HTTParty.send(method.to_s, @url, @options)
|
43
43
|
|
44
|
-
configuration.get_after_filters(domain).each do |filter|
|
45
|
-
raw = filter.new.filter(raw)
|
46
|
-
end
|
47
|
-
|
48
44
|
original_response = save(raw)
|
49
45
|
original_response.original = true
|
50
|
-
original_response
|
46
|
+
resp = original_response
|
47
|
+
end
|
48
|
+
|
49
|
+
configuration.get_after_filters(domain).each do |filter|
|
50
|
+
resp = filter.new.filter(resp)
|
51
51
|
end
|
52
|
+
resp
|
52
53
|
end
|
53
54
|
|
54
55
|
def response
|
data/lib/tshield/server.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: false
|
2
2
|
|
3
3
|
require 'sinatra'
|
4
|
+
require 'sinatra/cross_origin'
|
4
5
|
|
5
6
|
require 'tshield/options'
|
6
7
|
require 'tshield/controllers/requests'
|
@@ -16,6 +17,23 @@ module TShield
|
|
16
17
|
set :views, File.join(File.dirname(__FILE__), 'views')
|
17
18
|
set :bind, '0.0.0.0'
|
18
19
|
set :port, TShield::Options.instance.port
|
20
|
+
set :server, :puma
|
21
|
+
|
22
|
+
configure do
|
23
|
+
enable :cross_origin
|
24
|
+
end
|
25
|
+
|
26
|
+
before do
|
27
|
+
response.headers['Access-Control-Allow-Origin'] = '*'
|
28
|
+
end
|
29
|
+
|
30
|
+
options '*' do
|
31
|
+
response.headers['Allow'] = 'GET, PUT, POST, DELETE, OPTIONS'
|
32
|
+
response.headers['Access-Control-Allow-Headers'] = 'Authorization, Content-Type,
|
33
|
+
Accept, X-User-Email, X-Auth-Token'
|
34
|
+
response.headers['Access-Control-Allow-Origin'] = '*'
|
35
|
+
200
|
36
|
+
end
|
19
37
|
|
20
38
|
def self.register_resources
|
21
39
|
load_controllers
|
data/lib/tshield/version.rb
CHANGED
data/tshield.gemspec
CHANGED
@@ -27,12 +27,14 @@ Gem::Specification.new do |s|
|
|
27
27
|
s.add_dependency('byebug', '~> 11.0', '>= 11.0.1')
|
28
28
|
s.add_dependency('httparty', '~> 0.14', '>= 0.14.0')
|
29
29
|
s.add_dependency('json', '~> 2.0', '>= 2.0')
|
30
|
+
s.add_dependency('puma', '~> 4.3', '>= 4.3.3')
|
30
31
|
s.add_dependency('sinatra', '~> 1.4', '>= 1.4.0')
|
32
|
+
s.add_dependency('sinatra-cross_origin', '~> 0.4.0', '>= 0.4')
|
31
33
|
s.add_development_dependency('coveralls')
|
32
34
|
s.add_development_dependency('cucumber', '~> 3.1', '>= 3.1.2')
|
33
35
|
s.add_development_dependency('guard', '~> 2.15', '>= 2.15.0')
|
34
36
|
s.add_development_dependency('guard-rspec', '~> 4.7', '>= 4.7.3')
|
35
|
-
s.add_development_dependency('rake', '
|
37
|
+
s.add_development_dependency('rake', '>= 10.0', '~> 13.0')
|
36
38
|
s.add_development_dependency('rdoc', '~> 6.0', '>= 6.0')
|
37
39
|
s.add_development_dependency('reek', '~> 5.4.0', '>= 5.4.0')
|
38
40
|
s.add_development_dependency('rspec', '~> 3.5', '>= 3.5.0')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tshield
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Diego Rubin
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2020-07-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: byebug
|
@@ -71,6 +71,26 @@ dependencies:
|
|
71
71
|
- - "~>"
|
72
72
|
- !ruby/object:Gem::Version
|
73
73
|
version: '2.0'
|
74
|
+
- !ruby/object:Gem::Dependency
|
75
|
+
name: puma
|
76
|
+
requirement: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - "~>"
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '4.3'
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 4.3.3
|
84
|
+
type: :runtime
|
85
|
+
prerelease: false
|
86
|
+
version_requirements: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '4.3'
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 4.3.3
|
74
94
|
- !ruby/object:Gem::Dependency
|
75
95
|
name: sinatra
|
76
96
|
requirement: !ruby/object:Gem::Requirement
|
@@ -91,6 +111,26 @@ dependencies:
|
|
91
111
|
- - "~>"
|
92
112
|
- !ruby/object:Gem::Version
|
93
113
|
version: '1.4'
|
114
|
+
- !ruby/object:Gem::Dependency
|
115
|
+
name: sinatra-cross_origin
|
116
|
+
requirement: !ruby/object:Gem::Requirement
|
117
|
+
requirements:
|
118
|
+
- - ">="
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '0.4'
|
121
|
+
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: 0.4.0
|
124
|
+
type: :runtime
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - ">="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0.4'
|
131
|
+
- - "~>"
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 0.4.0
|
94
134
|
- !ruby/object:Gem::Dependency
|
95
135
|
name: coveralls
|
96
136
|
requirement: !ruby/object:Gem::Requirement
|
@@ -174,7 +214,7 @@ dependencies:
|
|
174
214
|
version: '10.0'
|
175
215
|
- - "~>"
|
176
216
|
- !ruby/object:Gem::Version
|
177
|
-
version: '
|
217
|
+
version: '13.0'
|
178
218
|
type: :development
|
179
219
|
prerelease: false
|
180
220
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -184,7 +224,7 @@ dependencies:
|
|
184
224
|
version: '10.0'
|
185
225
|
- - "~>"
|
186
226
|
- !ruby/object:Gem::Version
|
187
|
-
version: '
|
227
|
+
version: '13.0'
|
188
228
|
- !ruby/object:Gem::Dependency
|
189
229
|
name: rdoc
|
190
230
|
requirement: !ruby/object:Gem::Requirement
|
@@ -336,7 +376,6 @@ files:
|
|
336
376
|
- README.md
|
337
377
|
- Rakefile
|
338
378
|
- bin/tshield
|
339
|
-
- config/tshield.yml
|
340
379
|
- lib/tshield.rb
|
341
380
|
- lib/tshield/after_filter.rb
|
342
381
|
- lib/tshield/before_filter.rb
|
@@ -388,18 +427,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
388
427
|
- !ruby/object:Gem::Version
|
389
428
|
version: '0'
|
390
429
|
requirements: []
|
391
|
-
rubygems_version: 3.0.
|
430
|
+
rubygems_version: 3.0.8
|
392
431
|
signing_key:
|
393
432
|
specification_version: 4
|
394
433
|
summary: Proxy for mocks API responses
|
395
434
|
test_files:
|
396
435
|
- spec/spec_helper.rb
|
397
|
-
- spec/tshield/
|
436
|
+
- spec/tshield/request_matching_spec.rb
|
398
437
|
- spec/tshield/configuration_spec.rb
|
399
438
|
- spec/tshield/request_vcr_spec.rb
|
400
439
|
- spec/tshield/controllers/requests_spec.rb
|
440
|
+
- spec/tshield/options_spec.rb
|
401
441
|
- spec/tshield/after_filter_spec.rb
|
402
|
-
- spec/tshield/fixtures/config/tshield.yml
|
403
442
|
- spec/tshield/fixtures/matching/example.json
|
404
443
|
- spec/tshield/fixtures/filters/example_filter.rb
|
405
|
-
- spec/tshield/
|
444
|
+
- spec/tshield/fixtures/config/tshield.yml
|