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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8500d36e8b1861611e519cc93e40f176622a24d890f73615fa9852d83b12d530
4
- data.tar.gz: e5e8dcccd4a31ba89cba70c328f533c1128fb7a8917fdcdec5bbb74cd6832b08
3
+ metadata.gz: e6ed543aa8bab1fff2c4d75d7479b7af0b3e2f06432330a697b6808048466228
4
+ data.tar.gz: d14d318efb407d1a927cb2c5ac745081531c307f011d873965793c77ec0fd1b6
5
5
  SHA512:
6
- metadata.gz: 4780911e56839db9afd8a28dbc5759e3cd1d8a604c195c8f5921258cf0bcddf0d8042764e775b871088ac41b0791f14109ed8538c9ad5f991be35a225098c989
7
- data.tar.gz: 65ce05ffd2f63a68de6e91d9f34d2fe057376f32cf860132d5aca54455a16f97987c90b8af0785d03006c0aaa72cf18f58bfe8e079e2571e8ba3d07e51ded190
6
+ metadata.gz: 7a46edf78463d75e523fd842397bae66e749dc58cd31d5fab8500dab706028850963d8e84f366706e0aef7807f45283d74ad785379f38b9b144d40b801681155
7
+ data.tar.gz: 2eafe43d7acd092e04ff7b7dc1f2fcdd6dc7de2789a7f10e441bda3b72e838e13df86b8193ec7f3cbbd30a7f43a5880ce4c1629faf313ee3db3363695858aee0
data/Gemfile CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  source 'https://rubygems.org'
4
-
4
+ gem 'sinatra-cross_origin'
5
5
  gemspec
@@ -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(headers, path)
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(headers, path)
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
 
@@ -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
@@ -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
@@ -5,7 +5,7 @@ module TShield
5
5
  class Version
6
6
  MAJOR = 0
7
7
  MINOR = 11
8
- PATCH = 9
8
+ PATCH = 15
9
9
  PRE = 0
10
10
 
11
11
  class << self
@@ -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', '~> 10.0', '>= 10.0')
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.9.0
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: 2019-10-22 00:00:00.000000000 Z
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: '10.0'
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: '10.0'
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.6
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/options_spec.rb
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/request_matching_spec.rb
444
+ - spec/tshield/fixtures/config/tshield.yml
@@ -1,11 +0,0 @@
1
- ---
2
- request:
3
- timeout: 10
4
- domains:
5
- 'http://localhost:9090':
6
- name: 'components'
7
- skip_query_params:
8
- - b
9
- paths:
10
- - /users
11
- - /resources