swd 0.1.2 → 0.2.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.
- data/Gemfile.lock +18 -18
- data/Rakefile +9 -3
- data/VERSION +1 -1
- data/lib/swd.rb +1 -0
- data/lib/swd/resource.rb +5 -4
- data/spec/mock_json/redirect_with_port.json +5 -0
- data/spec/spec_helper.rb +0 -3
- data/spec/swd/resource_spec.rb +11 -11
- data/spec/swd_spec.rb +60 -0
- metadata +68 -21
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
swd (0.1.
|
|
4
|
+
swd (0.1.2)
|
|
5
5
|
activesupport (>= 3)
|
|
6
6
|
attr_required (>= 0.0.5)
|
|
7
7
|
httpclient (>= 2.2.1)
|
|
@@ -11,12 +11,12 @@ PATH
|
|
|
11
11
|
GEM
|
|
12
12
|
remote: http://rubygems.org/
|
|
13
13
|
specs:
|
|
14
|
-
activesupport (3.2.
|
|
14
|
+
activesupport (3.2.8)
|
|
15
15
|
i18n (~> 0.6)
|
|
16
16
|
multi_json (~> 1.0)
|
|
17
|
-
addressable (2.2
|
|
17
|
+
addressable (2.3.2)
|
|
18
18
|
attr_required (0.0.5)
|
|
19
|
-
configatron (2.9.
|
|
19
|
+
configatron (2.9.1)
|
|
20
20
|
yamler (>= 0.1.0)
|
|
21
21
|
cover_me (1.2.0)
|
|
22
22
|
configatron
|
|
@@ -24,21 +24,21 @@ GEM
|
|
|
24
24
|
crack (0.3.1)
|
|
25
25
|
diff-lcs (1.1.3)
|
|
26
26
|
hashie (1.2.0)
|
|
27
|
-
httpclient (2.2.
|
|
28
|
-
i18n (0.6.
|
|
29
|
-
json (1.
|
|
30
|
-
multi_json (1.
|
|
27
|
+
httpclient (2.2.7)
|
|
28
|
+
i18n (0.6.1)
|
|
29
|
+
json (1.7.5)
|
|
30
|
+
multi_json (1.3.6)
|
|
31
31
|
rake (0.9.2.2)
|
|
32
|
-
rspec (2.
|
|
33
|
-
rspec-core (~> 2.
|
|
34
|
-
rspec-expectations (~> 2.
|
|
35
|
-
rspec-mocks (~> 2.
|
|
36
|
-
rspec-core (2.
|
|
37
|
-
rspec-expectations (2.
|
|
38
|
-
diff-lcs (~> 1.1.
|
|
39
|
-
rspec-mocks (2.
|
|
40
|
-
webmock (1.
|
|
41
|
-
addressable (
|
|
32
|
+
rspec (2.11.0)
|
|
33
|
+
rspec-core (~> 2.11.0)
|
|
34
|
+
rspec-expectations (~> 2.11.0)
|
|
35
|
+
rspec-mocks (~> 2.11.0)
|
|
36
|
+
rspec-core (2.11.1)
|
|
37
|
+
rspec-expectations (2.11.3)
|
|
38
|
+
diff-lcs (~> 1.1.3)
|
|
39
|
+
rspec-mocks (2.11.3)
|
|
40
|
+
webmock (1.8.11)
|
|
41
|
+
addressable (>= 2.2.7)
|
|
42
42
|
crack (>= 0.1.7)
|
|
43
43
|
yamler (0.1.0)
|
|
44
44
|
|
data/Rakefile
CHANGED
|
@@ -5,9 +5,15 @@ require 'rspec/core/rake_task'
|
|
|
5
5
|
RSpec::Core::RakeTask.new(:spec)
|
|
6
6
|
|
|
7
7
|
if RUBY_VERSION >= '1.9'
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
namespace :cover_me do
|
|
9
|
+
desc "Generates and opens code coverage report."
|
|
10
|
+
task :report do
|
|
11
|
+
require 'cover_me'
|
|
12
|
+
CoverMe.complete!
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
task :spec do
|
|
16
|
+
Rake::Task['cover_me:report'].invoke
|
|
11
17
|
end
|
|
12
18
|
else
|
|
13
19
|
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.2.0
|
data/lib/swd.rb
CHANGED
data/lib/swd/resource.rb
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
module SWD
|
|
2
2
|
class Resource
|
|
3
|
-
include AttrRequired
|
|
3
|
+
include AttrRequired, AttrOptional
|
|
4
4
|
attr_required :principal, :service, :host, :path
|
|
5
|
+
attr_optional :port
|
|
5
6
|
|
|
6
7
|
class Expired < Exception; end
|
|
7
8
|
|
|
8
9
|
def initialize(attributes = {})
|
|
9
|
-
required_attributes.each do |key|
|
|
10
|
+
(optional_attributes + required_attributes).each do |key|
|
|
10
11
|
self.send "#{key}=", attributes[key]
|
|
11
12
|
end
|
|
12
13
|
@path ||= '/.well-known/simple-web-discovery'
|
|
@@ -22,7 +23,7 @@ module SWD
|
|
|
22
23
|
end
|
|
23
24
|
|
|
24
25
|
def endpoint
|
|
25
|
-
SWD.url_builder.build [nil, host,
|
|
26
|
+
SWD.url_builder.build [nil, host, port, path, {
|
|
26
27
|
:principal => principal,
|
|
27
28
|
:service => service
|
|
28
29
|
}.to_query, nil]
|
|
@@ -64,7 +65,7 @@ module SWD
|
|
|
64
65
|
|
|
65
66
|
def redirect_to(location, expires)
|
|
66
67
|
uri = URI.parse(location)
|
|
67
|
-
@host, @path = uri.host, uri.path
|
|
68
|
+
@host, @path, @port = uri.host, uri.path, uri.port
|
|
68
69
|
raise Expired if expires && expires.to_i < Time.now.utc.to_i
|
|
69
70
|
discover!
|
|
70
71
|
end
|
data/spec/spec_helper.rb
CHANGED
data/spec/swd/resource_spec.rb
CHANGED
|
@@ -17,7 +17,7 @@ describe SWD::Resource do
|
|
|
17
17
|
it "should require #{key}" do
|
|
18
18
|
expect do
|
|
19
19
|
SWD::Resource.new attributes.merge(key => nil)
|
|
20
|
-
end.
|
|
20
|
+
end.to raise_error AttrRequired::AttrMissing
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
23
|
|
|
@@ -49,7 +49,7 @@ describe SWD::Resource do
|
|
|
49
49
|
context 'when expired' do
|
|
50
50
|
it 'should return SWD::Response' do
|
|
51
51
|
mock_json resource.endpoint, 'redirect_expired' do
|
|
52
|
-
expect { res = resource.discover! }.
|
|
52
|
+
expect { res = resource.discover! }.to raise_error SWD::Resource::Expired
|
|
53
53
|
end
|
|
54
54
|
end
|
|
55
55
|
end
|
|
@@ -84,35 +84,35 @@ describe SWD::Resource do
|
|
|
84
84
|
context 'when invalid SSL cert' do
|
|
85
85
|
it do
|
|
86
86
|
SWD.http_client.should_receive(:get_content).and_raise(OpenSSL::SSL::SSLError)
|
|
87
|
-
expect { res = resource.discover! }.
|
|
87
|
+
expect { res = resource.discover! }.to raise_error SWD::Exception
|
|
88
88
|
end
|
|
89
89
|
end
|
|
90
90
|
|
|
91
91
|
context 'when invalid JSON' do
|
|
92
92
|
it do
|
|
93
93
|
SWD.http_client.should_receive(:get_content).and_raise(JSON::ParserError)
|
|
94
|
-
expect { res = resource.discover! }.
|
|
94
|
+
expect { res = resource.discover! }.to raise_error SWD::Exception
|
|
95
95
|
end
|
|
96
96
|
end
|
|
97
97
|
|
|
98
98
|
context 'when SocketError' do
|
|
99
99
|
it do
|
|
100
100
|
SWD.http_client.should_receive(:get_content).and_raise(SocketError)
|
|
101
|
-
expect { res = resource.discover! }.
|
|
101
|
+
expect { res = resource.discover! }.to raise_error SWD::Exception
|
|
102
102
|
end
|
|
103
103
|
end
|
|
104
104
|
|
|
105
105
|
context 'when BadResponseError without response' do
|
|
106
106
|
it do
|
|
107
107
|
SWD.http_client.should_receive(:get_content).and_raise(HTTPClient::BadResponseError.new(''))
|
|
108
|
-
expect { res = resource.discover! }.
|
|
108
|
+
expect { res = resource.discover! }.to raise_error SWD::Exception
|
|
109
109
|
end
|
|
110
110
|
end
|
|
111
111
|
|
|
112
112
|
context 'when bad request' do
|
|
113
113
|
it 'should raise SWD::BadRequest' do
|
|
114
114
|
mock_json resource.endpoint, 'blank', :status => 400 do
|
|
115
|
-
expect { res = resource.discover! }.
|
|
115
|
+
expect { res = resource.discover! }.to raise_error SWD::BadRequest
|
|
116
116
|
end
|
|
117
117
|
end
|
|
118
118
|
end
|
|
@@ -120,7 +120,7 @@ describe SWD::Resource do
|
|
|
120
120
|
context 'when unauthorized' do
|
|
121
121
|
it 'should raise SWD::Unauthorized' do
|
|
122
122
|
mock_json resource.endpoint, 'blank', :status => 401 do
|
|
123
|
-
expect { res = resource.discover! }.
|
|
123
|
+
expect { res = resource.discover! }.to raise_error SWD::Unauthorized
|
|
124
124
|
end
|
|
125
125
|
end
|
|
126
126
|
end
|
|
@@ -128,7 +128,7 @@ describe SWD::Resource do
|
|
|
128
128
|
context 'when forbidden' do
|
|
129
129
|
it 'should raise SWD::Forbidden' do
|
|
130
130
|
mock_json resource.endpoint, 'blank', :status => 403 do
|
|
131
|
-
expect { res = resource.discover! }.
|
|
131
|
+
expect { res = resource.discover! }.to raise_error SWD::Forbidden
|
|
132
132
|
end
|
|
133
133
|
end
|
|
134
134
|
end
|
|
@@ -136,7 +136,7 @@ describe SWD::Resource do
|
|
|
136
136
|
context 'when not found' do
|
|
137
137
|
it 'should raise SWD::NotFound' do
|
|
138
138
|
mock_json resource.endpoint, 'blank', :status => 404 do
|
|
139
|
-
expect { res = resource.discover! }.
|
|
139
|
+
expect { res = resource.discover! }.to raise_error SWD::NotFound
|
|
140
140
|
end
|
|
141
141
|
end
|
|
142
142
|
end
|
|
@@ -144,7 +144,7 @@ describe SWD::Resource do
|
|
|
144
144
|
context 'when other error happened' do
|
|
145
145
|
it 'should raise SWD::HttpError' do
|
|
146
146
|
mock_json resource.endpoint, 'blank', :status => 500 do
|
|
147
|
-
expect { res = resource.discover! }.
|
|
147
|
+
expect { res = resource.discover! }.to raise_error SWD::HttpError
|
|
148
148
|
end
|
|
149
149
|
end
|
|
150
150
|
end
|
data/spec/swd_spec.rb
CHANGED
|
@@ -20,6 +20,66 @@ describe SWD do
|
|
|
20
20
|
).should be_a SWD::Response
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
|
+
|
|
24
|
+
context 'when port specified' do
|
|
25
|
+
it 'should use it' do
|
|
26
|
+
mock_json "https://example.com:8080/.well-known/simple-web-discovery", 'success', :query => {
|
|
27
|
+
:principal => 'mailto:joe@example.com',
|
|
28
|
+
:service => 'urn:adatum.com:calendar'
|
|
29
|
+
} do
|
|
30
|
+
SWD.discover!(
|
|
31
|
+
:principal => 'mailto:joe@example.com',
|
|
32
|
+
:service => 'urn:adatum.com:calendar',
|
|
33
|
+
:host => 'example.com',
|
|
34
|
+
:port => 8080
|
|
35
|
+
).should be_a SWD::Response
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
context 'when redirected to different host' do
|
|
40
|
+
context 'with port' do
|
|
41
|
+
it 'should success' do
|
|
42
|
+
mock_json "https://example.com:8080/.well-known/simple-web-discovery", 'redirect_with_port', :query => {
|
|
43
|
+
:principal => 'mailto:joe@example.com',
|
|
44
|
+
:service => 'urn:adatum.com:calendar'
|
|
45
|
+
} do
|
|
46
|
+
mock_json "https://swd.proseware.com:8080/swd_server", 'success', :query => {
|
|
47
|
+
:principal => 'mailto:joe@example.com',
|
|
48
|
+
:service => 'urn:adatum.com:calendar'
|
|
49
|
+
} do
|
|
50
|
+
SWD.discover!(
|
|
51
|
+
:principal => 'mailto:joe@example.com',
|
|
52
|
+
:service => 'urn:adatum.com:calendar',
|
|
53
|
+
:host => 'example.com',
|
|
54
|
+
:port => 8080
|
|
55
|
+
).should be_a SWD::Response
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
context 'without port' do
|
|
62
|
+
it 'should success' do
|
|
63
|
+
mock_json "https://example.com:8080/.well-known/simple-web-discovery", 'redirect', :query => {
|
|
64
|
+
:principal => 'mailto:joe@example.com',
|
|
65
|
+
:service => 'urn:adatum.com:calendar'
|
|
66
|
+
} do
|
|
67
|
+
mock_json "https://swd.proseware.com/swd_server", 'success', :query => {
|
|
68
|
+
:principal => 'mailto:joe@example.com',
|
|
69
|
+
:service => 'urn:adatum.com:calendar'
|
|
70
|
+
} do
|
|
71
|
+
SWD.discover!(
|
|
72
|
+
:principal => 'mailto:joe@example.com',
|
|
73
|
+
:service => 'urn:adatum.com:calendar',
|
|
74
|
+
:host => 'example.com',
|
|
75
|
+
:port => 8080
|
|
76
|
+
).should be_a SWD::Response
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
23
83
|
end
|
|
24
84
|
|
|
25
85
|
describe '.debug!' do
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: swd
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,11 +9,11 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2012-
|
|
12
|
+
date: 2012-10-03 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: json
|
|
16
|
-
requirement:
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,10 +21,15 @@ dependencies:
|
|
|
21
21
|
version: 1.4.3
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements:
|
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
26
|
+
requirements:
|
|
27
|
+
- - ! '>='
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: 1.4.3
|
|
25
30
|
- !ruby/object:Gem::Dependency
|
|
26
31
|
name: httpclient
|
|
27
|
-
requirement:
|
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
|
28
33
|
none: false
|
|
29
34
|
requirements:
|
|
30
35
|
- - ! '>='
|
|
@@ -32,10 +37,15 @@ dependencies:
|
|
|
32
37
|
version: 2.2.1
|
|
33
38
|
type: :runtime
|
|
34
39
|
prerelease: false
|
|
35
|
-
version_requirements:
|
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
+
none: false
|
|
42
|
+
requirements:
|
|
43
|
+
- - ! '>='
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: 2.2.1
|
|
36
46
|
- !ruby/object:Gem::Dependency
|
|
37
47
|
name: activesupport
|
|
38
|
-
requirement:
|
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
|
39
49
|
none: false
|
|
40
50
|
requirements:
|
|
41
51
|
- - ! '>='
|
|
@@ -43,10 +53,15 @@ dependencies:
|
|
|
43
53
|
version: '3'
|
|
44
54
|
type: :runtime
|
|
45
55
|
prerelease: false
|
|
46
|
-
version_requirements:
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
none: false
|
|
58
|
+
requirements:
|
|
59
|
+
- - ! '>='
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '3'
|
|
47
62
|
- !ruby/object:Gem::Dependency
|
|
48
63
|
name: i18n
|
|
49
|
-
requirement:
|
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
|
50
65
|
none: false
|
|
51
66
|
requirements:
|
|
52
67
|
- - ! '>='
|
|
@@ -54,10 +69,15 @@ dependencies:
|
|
|
54
69
|
version: '0'
|
|
55
70
|
type: :runtime
|
|
56
71
|
prerelease: false
|
|
57
|
-
version_requirements:
|
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
+
none: false
|
|
74
|
+
requirements:
|
|
75
|
+
- - ! '>='
|
|
76
|
+
- !ruby/object:Gem::Version
|
|
77
|
+
version: '0'
|
|
58
78
|
- !ruby/object:Gem::Dependency
|
|
59
79
|
name: attr_required
|
|
60
|
-
requirement:
|
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
|
61
81
|
none: false
|
|
62
82
|
requirements:
|
|
63
83
|
- - ! '>='
|
|
@@ -65,10 +85,15 @@ dependencies:
|
|
|
65
85
|
version: 0.0.5
|
|
66
86
|
type: :runtime
|
|
67
87
|
prerelease: false
|
|
68
|
-
version_requirements:
|
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
+
none: false
|
|
90
|
+
requirements:
|
|
91
|
+
- - ! '>='
|
|
92
|
+
- !ruby/object:Gem::Version
|
|
93
|
+
version: 0.0.5
|
|
69
94
|
- !ruby/object:Gem::Dependency
|
|
70
95
|
name: rake
|
|
71
|
-
requirement:
|
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
97
|
none: false
|
|
73
98
|
requirements:
|
|
74
99
|
- - ! '>='
|
|
@@ -76,10 +101,15 @@ dependencies:
|
|
|
76
101
|
version: '0.8'
|
|
77
102
|
type: :development
|
|
78
103
|
prerelease: false
|
|
79
|
-
version_requirements:
|
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
+
none: false
|
|
106
|
+
requirements:
|
|
107
|
+
- - ! '>='
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '0.8'
|
|
80
110
|
- !ruby/object:Gem::Dependency
|
|
81
111
|
name: cover_me
|
|
82
|
-
requirement:
|
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
|
83
113
|
none: false
|
|
84
114
|
requirements:
|
|
85
115
|
- - ! '>='
|
|
@@ -87,10 +117,15 @@ dependencies:
|
|
|
87
117
|
version: 1.2.0
|
|
88
118
|
type: :development
|
|
89
119
|
prerelease: false
|
|
90
|
-
version_requirements:
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
none: false
|
|
122
|
+
requirements:
|
|
123
|
+
- - ! '>='
|
|
124
|
+
- !ruby/object:Gem::Version
|
|
125
|
+
version: 1.2.0
|
|
91
126
|
- !ruby/object:Gem::Dependency
|
|
92
127
|
name: rspec
|
|
93
|
-
requirement:
|
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
|
94
129
|
none: false
|
|
95
130
|
requirements:
|
|
96
131
|
- - ! '>='
|
|
@@ -98,10 +133,15 @@ dependencies:
|
|
|
98
133
|
version: '2'
|
|
99
134
|
type: :development
|
|
100
135
|
prerelease: false
|
|
101
|
-
version_requirements:
|
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
137
|
+
none: false
|
|
138
|
+
requirements:
|
|
139
|
+
- - ! '>='
|
|
140
|
+
- !ruby/object:Gem::Version
|
|
141
|
+
version: '2'
|
|
102
142
|
- !ruby/object:Gem::Dependency
|
|
103
143
|
name: webmock
|
|
104
|
-
requirement:
|
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
|
105
145
|
none: false
|
|
106
146
|
requirements:
|
|
107
147
|
- - ! '>='
|
|
@@ -109,7 +149,12 @@ dependencies:
|
|
|
109
149
|
version: 1.6.2
|
|
110
150
|
type: :development
|
|
111
151
|
prerelease: false
|
|
112
|
-
version_requirements:
|
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
153
|
+
none: false
|
|
154
|
+
requirements:
|
|
155
|
+
- - ! '>='
|
|
156
|
+
- !ruby/object:Gem::Version
|
|
157
|
+
version: 1.6.2
|
|
113
158
|
description: SWD (Simple Web Discovery) Client Library
|
|
114
159
|
email:
|
|
115
160
|
- nov@matake.jp
|
|
@@ -137,6 +182,7 @@ files:
|
|
|
137
182
|
- spec/mock_json/blank.json
|
|
138
183
|
- spec/mock_json/redirect.json
|
|
139
184
|
- spec/mock_json/redirect_expired.json
|
|
185
|
+
- spec/mock_json/redirect_with_port.json
|
|
140
186
|
- spec/mock_json/success.json
|
|
141
187
|
- spec/spec_helper.rb
|
|
142
188
|
- spec/swd/debugger/request_filter_spec.rb
|
|
@@ -164,7 +210,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
164
210
|
version: '0'
|
|
165
211
|
requirements: []
|
|
166
212
|
rubyforge_project:
|
|
167
|
-
rubygems_version: 1.8.
|
|
213
|
+
rubygems_version: 1.8.24
|
|
168
214
|
signing_key:
|
|
169
215
|
specification_version: 3
|
|
170
216
|
summary: SWD (Simple Web Discovery) Client Library
|
|
@@ -173,6 +219,7 @@ test_files:
|
|
|
173
219
|
- spec/mock_json/blank.json
|
|
174
220
|
- spec/mock_json/redirect.json
|
|
175
221
|
- spec/mock_json/redirect_expired.json
|
|
222
|
+
- spec/mock_json/redirect_with_port.json
|
|
176
223
|
- spec/mock_json/success.json
|
|
177
224
|
- spec/spec_helper.rb
|
|
178
225
|
- spec/swd/debugger/request_filter_spec.rb
|