rest-client 1.6.2.a → 1.6.3
Sign up to get free protection for your applications and to get access to all the features.
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
|