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 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