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 CHANGED
@@ -5,7 +5,6 @@ of specifying actions: get, put, post, delete.
5
5
 
6
6
  * Main page: http://github.com/archiloque/rest-client
7
7
  * Mailing list: rest.client@librelist.com (send a mail to subscribe).
8
- * IRC: #rest-client at freenode
9
8
 
10
9
  == Usage: Raw URL
11
10
 
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.executables = %w(restclient)
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.2.a
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
@@ -190,7 +190,7 @@ module RestClient
190
190
  s.write(data)
191
191
  end
192
192
  ensure
193
- v.close
193
+ v.close if v.respond_to?(:close)
194
194
  end
195
195
  end
196
196
 
@@ -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
- Zlib::Inflate.new.inflate body
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
@@ -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-----
@@ -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
@@ -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: 2
5
- prerelease: 6
4
+ hash: 9
5
+ prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 6
9
- - 2
10
- - a
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-02-13 00:00:00 +01:00
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: 25
129
+ hash: 3
133
130
  segments:
134
- - 1
135
- - 3
136
- - 1
137
- version: 1.3.1
131
+ - 0
132
+ version: "0"
138
133
  requirements: []
139
134
 
140
- rubyforge_project: rest-client
141
- rubygems_version: 1.5.2
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