rest-client 1.6.2.a → 1.6.3
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.
Potentially problematic release.
This version of rest-client might be problematic. Click here for more details.
- data/README.rdoc +0 -1
- data/Rakefile +1 -5
- data/VERSION +1 -1
- data/history.md +7 -0
- data/lib/restclient.rb +9 -0
- data/lib/restclient/payload.rb +1 -1
- data/lib/restclient/request.rb +8 -2
- data/lib/restclient/resource.rb +9 -0
- data/spec/integration/certs/equifax.crt +19 -19
- data/spec/integration/certs/verisign.crt +14 -14
- data/spec/resource_spec.rb +5 -0
- data/spec/restclient_spec.rb +5 -0
- metadata +14 -16
data/README.rdoc
CHANGED
data/Rakefile
CHANGED
@@ -9,18 +9,14 @@ Jeweler::Tasks.new do |s|
|
|
9
9
|
s.authors = ["Adam Wiggins", "Julien Kirch"]
|
10
10
|
s.email = "rest.client@librelist.com"
|
11
11
|
s.homepage = "http://github.com/archiloque/rest-client"
|
12
|
-
s.rubyforge_project = "rest-client"
|
13
|
-
s.has_rdoc = true
|
14
12
|
s.files = FileList["[A-Z]*", "{bin,lib,spec}/**/*"]
|
15
|
-
s.
|
13
|
+
s.test_files = FileList["{spec}/**/*"]
|
16
14
|
s.add_runtime_dependency("mime-types", ">= 1.16")
|
17
15
|
s.add_development_dependency("webmock", ">= 0.9.1")
|
18
16
|
s.add_development_dependency("rspec")
|
19
17
|
s.extra_rdoc_files = [ 'README.rdoc', 'history.md']
|
20
18
|
end
|
21
19
|
|
22
|
-
Jeweler::RubyforgeTasks.new
|
23
|
-
|
24
20
|
############################
|
25
21
|
|
26
22
|
require 'spec/rake/spectask'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.6.
|
1
|
+
1.6.3
|
data/history.md
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
# 1.6.3
|
2
|
+
- 1.6.2 was yanked
|
3
|
+
|
1
4
|
# 1.6.2
|
2
5
|
|
3
6
|
- add support for HEAD in resources (patch provided by tpresa)
|
@@ -7,6 +10,10 @@
|
|
7
10
|
- adding :block_response parameter for manual processing
|
8
11
|
- limit number of redirections (patch provided by Chris Dinn)
|
9
12
|
- close and unlink the temp file created by playload (patch provided by Chris Green)
|
13
|
+
- make gemspec Rubygems 1.8 compatible (patch provided by David Backeus)
|
14
|
+
- added RestClient.reset_before_execution_procs (patch provided by Cloudify)
|
15
|
+
- added PATCH method (patch provided by Jeff Remer)
|
16
|
+
- hack for HTTP servers that use raw DEFLATE compression, see http://www.ruby-forum.com/topic/136825 (path provided by James Reeves)
|
10
17
|
|
11
18
|
# 1.6.1
|
12
19
|
|
data/lib/restclient.rb
CHANGED
@@ -72,6 +72,10 @@ module RestClient
|
|
72
72
|
Request.execute(:method => :post, :url => url, :payload => payload, :headers => headers, &block)
|
73
73
|
end
|
74
74
|
|
75
|
+
def self.patch(url, payload, headers={}, &block)
|
76
|
+
Request.execute(:method => :patch, :url => url, :payload => payload, :headers => headers, &block)
|
77
|
+
end
|
78
|
+
|
75
79
|
def self.put(url, payload, headers={}, &block)
|
76
80
|
Request.execute(:method => :put, :url => url, :payload => payload, :headers => headers, &block)
|
77
81
|
end
|
@@ -158,6 +162,11 @@ module RestClient
|
|
158
162
|
@@before_execution_procs << proc
|
159
163
|
end
|
160
164
|
|
165
|
+
# Reset the procs to be called before each request is executed.
|
166
|
+
def self.reset_before_execution_procs
|
167
|
+
@@before_execution_procs = []
|
168
|
+
end
|
169
|
+
|
161
170
|
def self.before_execution_procs # :nodoc:
|
162
171
|
@@before_execution_procs
|
163
172
|
end
|
data/lib/restclient/payload.rb
CHANGED
data/lib/restclient/request.rb
CHANGED
@@ -143,7 +143,7 @@ module RestClient
|
|
143
143
|
|
144
144
|
net = net_http_class.new(uri.host, uri.port)
|
145
145
|
net.use_ssl = uri.is_a?(URI::HTTPS)
|
146
|
-
if @verify_ssl == false
|
146
|
+
if (@verify_ssl == false) || (@verify_ssl == OpenSSL::SSL::VERIFY_NONE)
|
147
147
|
net.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
148
148
|
elsif @verify_ssl.is_a? Integer
|
149
149
|
net.verify_mode = @verify_ssl
|
@@ -236,7 +236,13 @@ module RestClient
|
|
236
236
|
elsif content_encoding == 'gzip'
|
237
237
|
Zlib::GzipReader.new(StringIO.new(body)).read
|
238
238
|
elsif content_encoding == 'deflate'
|
239
|
-
|
239
|
+
begin
|
240
|
+
Zlib::Inflate.new.inflate body
|
241
|
+
rescue Zlib::DataError
|
242
|
+
# No luck with Zlib decompression. Let's try with raw deflate,
|
243
|
+
# like some broken web servers do.
|
244
|
+
Zlib::Inflate.new(-Zlib::MAX_WBITS).inflate body
|
245
|
+
end
|
240
246
|
else
|
241
247
|
body
|
242
248
|
end
|
data/lib/restclient/resource.rb
CHANGED
@@ -80,6 +80,15 @@ module RestClient
|
|
80
80
|
:headers => headers), &(block || @block))
|
81
81
|
end
|
82
82
|
|
83
|
+
def patch(payload, additional_headers={}, &block)
|
84
|
+
headers = (options[:headers] || {}).merge(additional_headers)
|
85
|
+
Request.execute(options.merge(
|
86
|
+
:method => :patch,
|
87
|
+
:url => url,
|
88
|
+
:payload => payload,
|
89
|
+
:headers => headers), &(block || @block))
|
90
|
+
end
|
91
|
+
|
83
92
|
def delete(additional_headers={}, &block)
|
84
93
|
headers = (options[:headers] || {}).merge(additional_headers)
|
85
94
|
Request.execute(options.merge(
|
@@ -1,19 +1,19 @@
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
2
|
-
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
|
3
|
-
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
|
4
|
-
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
|
5
|
-
MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
|
6
|
-
dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
|
7
|
-
AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
|
8
|
-
BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
|
9
|
-
cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
|
10
|
-
AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
|
11
|
-
MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
|
12
|
-
aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
|
13
|
-
ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
|
14
|
-
IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
|
15
|
-
MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
|
16
|
-
A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
|
17
|
-
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
|
18
|
-
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
|
19
|
-
-----END CERTIFICATE-----
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
|
3
|
+
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
|
4
|
+
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
|
5
|
+
MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
|
6
|
+
dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
|
7
|
+
AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
|
8
|
+
BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
|
9
|
+
cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
|
10
|
+
AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
|
11
|
+
MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
|
12
|
+
aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
|
13
|
+
ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
|
14
|
+
IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
|
15
|
+
MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
|
16
|
+
A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
|
17
|
+
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
|
18
|
+
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
|
19
|
+
-----END CERTIFICATE-----
|
@@ -1,14 +1,14 @@
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
2
|
-
MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG
|
3
|
-
A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz
|
4
|
-
cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
|
5
|
-
MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV
|
6
|
-
BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt
|
7
|
-
YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
|
8
|
-
ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE
|
9
|
-
BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is
|
10
|
-
I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G
|
11
|
-
CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do
|
12
|
-
lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc
|
13
|
-
AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k
|
14
|
-
-----END CERTIFICATE-----
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG
|
3
|
+
A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz
|
4
|
+
cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
|
5
|
+
MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV
|
6
|
+
BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt
|
7
|
+
YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
|
8
|
+
ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE
|
9
|
+
BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is
|
10
|
+
I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G
|
11
|
+
CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do
|
12
|
+
lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc
|
13
|
+
AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k
|
14
|
+
-----END CERTIFICATE-----
|
data/spec/resource_spec.rb
CHANGED
@@ -29,6 +29,11 @@ describe RestClient::Resource do
|
|
29
29
|
@resource.put 'abc', :content_type => 'image/jpg'
|
30
30
|
end
|
31
31
|
|
32
|
+
it "PATCH" do
|
33
|
+
RestClient::Request.should_receive(:execute).with(:method => :patch, :url => 'http://some/resource', :payload => 'abc', :headers => {:content_type => 'image/jpg', 'X-Something' => '1'}, :user => 'jane', :password => 'mypass')
|
34
|
+
@resource.patch 'abc', :content_type => 'image/jpg'
|
35
|
+
end
|
36
|
+
|
32
37
|
it "DELETE" do
|
33
38
|
RestClient::Request.should_receive(:execute).with(:method => :delete, :url => 'http://some/resource', :headers => {'X-Something' => '1'}, :user => 'jane', :password => 'mypass')
|
34
39
|
@resource.delete
|
data/spec/restclient_spec.rb
CHANGED
@@ -17,6 +17,11 @@ describe RestClient do
|
|
17
17
|
RestClient.put('http://some/resource', 'payload')
|
18
18
|
end
|
19
19
|
|
20
|
+
it "PATCH" do
|
21
|
+
RestClient::Request.should_receive(:execute).with(:method => :patch, :url => 'http://some/resource', :payload => 'payload', :headers => {})
|
22
|
+
RestClient.patch('http://some/resource', 'payload')
|
23
|
+
end
|
24
|
+
|
20
25
|
it "DELETE" do
|
21
26
|
RestClient::Request.should_receive(:execute).with(:method => :delete, :url => 'http://some/resource', :headers => {})
|
22
27
|
RestClient.delete('http://some/resource')
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rest-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 9
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 6
|
9
|
-
-
|
10
|
-
|
11
|
-
version: 1.6.2.a
|
9
|
+
- 3
|
10
|
+
version: 1.6.3
|
12
11
|
platform: ruby
|
13
12
|
authors:
|
14
13
|
- Adam Wiggins
|
@@ -17,8 +16,7 @@ autorequire:
|
|
17
16
|
bindir: bin
|
18
17
|
cert_chain: []
|
19
18
|
|
20
|
-
date: 2011-
|
21
|
-
default_executable: restclient
|
19
|
+
date: 2011-06-04 00:00:00 Z
|
22
20
|
dependencies:
|
23
21
|
- !ruby/object:Gem::Dependency
|
24
22
|
name: mime-types
|
@@ -106,7 +104,6 @@ files:
|
|
106
104
|
- spec/response_spec.rb
|
107
105
|
- spec/restclient_spec.rb
|
108
106
|
- history.md
|
109
|
-
has_rdoc: true
|
110
107
|
homepage: http://github.com/archiloque/rest-client
|
111
108
|
licenses: []
|
112
109
|
|
@@ -127,18 +124,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
127
124
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
128
125
|
none: false
|
129
126
|
requirements:
|
130
|
-
- - "
|
127
|
+
- - ">="
|
131
128
|
- !ruby/object:Gem::Version
|
132
|
-
hash:
|
129
|
+
hash: 3
|
133
130
|
segments:
|
134
|
-
-
|
135
|
-
|
136
|
-
- 1
|
137
|
-
version: 1.3.1
|
131
|
+
- 0
|
132
|
+
version: "0"
|
138
133
|
requirements: []
|
139
134
|
|
140
|
-
rubyforge_project:
|
141
|
-
rubygems_version: 1.5
|
135
|
+
rubyforge_project:
|
136
|
+
rubygems_version: 1.8.5
|
142
137
|
signing_key:
|
143
138
|
specification_version: 3
|
144
139
|
summary: Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.
|
@@ -146,8 +141,11 @@ test_files:
|
|
146
141
|
- spec/abstract_response_spec.rb
|
147
142
|
- spec/base.rb
|
148
143
|
- spec/exceptions_spec.rb
|
144
|
+
- spec/integration/certs/equifax.crt
|
145
|
+
- spec/integration/certs/verisign.crt
|
149
146
|
- spec/integration/request_spec.rb
|
150
147
|
- spec/integration_spec.rb
|
148
|
+
- spec/master_shake.jpg
|
151
149
|
- spec/payload_spec.rb
|
152
150
|
- spec/raw_response_spec.rb
|
153
151
|
- spec/request2_spec.rb
|