rack-cors 2.0.1 → 3.0.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.
@@ -1,70 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rubygems'
4
- require 'minitest/autorun'
5
- require 'rack/cors'
6
-
7
- describe Rack::Cors, 'DSL' do
8
- it 'should support explicit config object dsl mode' do
9
- cors = Rack::Cors.new(proc {}) do |cfg|
10
- cfg.allow do |allow|
11
- allow.origins 'localhost:3000', '127.0.0.1:3000' do |source, env|
12
- source == 'http://10.10.10.10:3000' &&
13
- env['USER_AGENT'] == 'test-agent'
14
- end
15
- allow.resource '/get-only', methods: :get
16
- allow.resource '/', headers: :any
17
- end
18
- end
19
- resources = cors.send :all_resources
20
-
21
- _(resources.length).must_equal 1
22
- _(resources.first.allow_origin?('http://localhost:3000')).must_equal true
23
- _(resources.first.allow_origin?('http://10.10.10.10:3000', { 'USER_AGENT' => 'test-agent' })).must_equal true
24
- _(resources.first.allow_origin?('http://10.10.10.10:3001', { 'USER_AGENT' => 'test-agent' })).wont_equal true
25
- _(resources.first.allow_origin?('http://10.10.10.10:3000', { 'USER_AGENT' => 'other-agent' })).wont_equal true
26
- end
27
-
28
- it 'should support implicit config object dsl mode' do
29
- cors = Rack::Cors.new(proc {}) do
30
- allow do
31
- origins 'localhost:3000', '127.0.0.1:3000' do |source, env|
32
- source == 'http://10.10.10.10:3000' &&
33
- env['USER_AGENT'] == 'test-agent'
34
- end
35
- resource '/get-only', methods: :get
36
- resource '/', headers: :any
37
- end
38
- end
39
- resources = cors.send :all_resources
40
-
41
- _(resources.length).must_equal 1
42
- _(resources.first.allow_origin?('http://localhost:3000')).must_equal true
43
- _(resources.first.allow_origin?('http://10.10.10.10:3000', { 'USER_AGENT' => 'test-agent' })).must_equal true
44
- _(resources.first.allow_origin?('http://10.10.10.10:3001', { 'USER_AGENT' => 'test-agent' })).wont_equal true
45
- _(resources.first.allow_origin?('http://10.10.10.10:3000', { 'USER_AGENT' => 'other-agent' })).wont_equal true
46
- end
47
-
48
- it 'should support "file://" origin' do
49
- cors = Rack::Cors.new(proc {}) do
50
- allow do
51
- origins 'file://'
52
- resource '/', headers: :any
53
- end
54
- end
55
- resources = cors.send :all_resources
56
-
57
- _(resources.first.allow_origin?('file://')).must_equal true
58
- end
59
-
60
- it 'should default credentials option to false' do
61
- cors = Rack::Cors.new(proc {}) do
62
- allow do
63
- origins 'example.net'
64
- resource '/', headers: :any
65
- end
66
- end
67
- resources = cors.send :all_resources
68
- _(resources.first.resources.first.credentials).must_equal false
69
- end
70
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rack/cors'
4
-
5
- use Rack::Cors do
6
- allow do
7
- origins '*'
8
- resource '/public', credentials: true
9
- end
10
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rack/cors'
4
-
5
- use Rack::Cors do
6
- allow do
7
- origins 'com.company.app'
8
- resource '/public'
9
- end
10
- end
data/test/unit/test.ru DELETED
@@ -1,66 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rack/cors'
4
-
5
- # use Rack::Cors, :debug => true, :logger => ::Logger.new(STDOUT) do
6
- use Rack::Lint
7
- use Rack::Cors do
8
- allow do
9
- origins 'localhost:3000',
10
- '127.0.0.1:3000',
11
- %r{http://192\.168\.0\.\d{1,3}(:\d+)?},
12
- 'file://',
13
- %r{http://(.*?)\.example\.com},
14
- 'custom-protocol://abcdefg'
15
-
16
- resource '/get-only', methods: :get
17
- resource '/', headers: :any, methods: :any
18
- resource '/options', methods: :options
19
- resource '/single_header', headers: 'x-domain-token'
20
- resource '/two_headers', headers: %w[x-domain-token x-requested-with]
21
- resource '/expose_single_header', expose: 'expose-test'
22
- resource '/expose_multiple_headers', expose: %w[expose-test-1 expose-test-2]
23
- resource '/conditional', methods: :get, if: proc { |env| !!env['HTTP_X_OK'] }
24
- resource '/vary_test', methods: :get, vary: %w[Origin Host]
25
- resource '/patch_test', methods: :patch
26
- resource '/wildcard/*', methods: :any
27
- # resource '/file/at/*',
28
- # :methods => [:get, :post, :put, :delete],
29
- # :headers => :any,
30
- # :max_age => 0
31
- end
32
-
33
- allow do
34
- origins do |source, _env|
35
- source.end_with?('10.10.10.10:3000')
36
- end
37
- resource '/proc-origin'
38
- end
39
-
40
- allow do
41
- origins ->(source, _env) { source.end_with?('10.10.10.10:3000') }
42
- resource '/lambda-origin'
43
- end
44
-
45
- allow do
46
- origins '*'
47
- resource '/public'
48
- resource '/public/*'
49
- resource '/public_without_credentials', credentials: false
50
- end
51
-
52
- allow do
53
- origins 'mucho-grande.com'
54
- resource '/multi-allow-config', max_age: 600
55
- end
56
-
57
- allow do
58
- origins '*'
59
- resource '/multi-allow-config', max_age: 300, credentials: false
60
- end
61
-
62
- allow do
63
- origins ''
64
- resource '/blank-origin'
65
- end
66
- end