httparty 0.8.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of httparty might be problematic. Click here for more details.

@@ -0,0 +1,19 @@
1
+ require 'rubygems'
2
+ require 'crack'
3
+
4
+ dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
5
+ require File.join(dir, 'httparty')
6
+ require 'pp'
7
+
8
+ class Rep
9
+ include HTTParty
10
+
11
+ parser(
12
+ Proc.new do |body, format|
13
+ Crack::XML.parse(body)
14
+ end
15
+ )
16
+ end
17
+
18
+ pp Rep.get('http://whoismyrepresentative.com/whoismyrep.php?zip=46544')
19
+ pp Rep.get('http://whoismyrepresentative.com/whoismyrep.php', :query => {:zip => 46544})
@@ -180,7 +180,6 @@ module HTTParty
180
180
  query_string_parts.size > 0 ? query_string_parts.join('&') : nil
181
181
  end
182
182
 
183
- # Raises exception Net::XXX (http error code) if an http error occured
184
183
  def handle_response
185
184
  if response_redirects?
186
185
  options[:limit] -= 1
@@ -200,8 +199,10 @@ module HTTParty
200
199
  when "gzip"
201
200
  body_io = StringIO.new(last_response.body)
202
201
  last_response.body.replace Zlib::GzipReader.new(body_io).read
202
+ last_response.delete('content-encoding')
203
203
  when "deflate"
204
204
  last_response.body.replace Zlib::Inflate.inflate(last_response.body)
205
+ last_response.delete('content-encoding')
205
206
  end
206
207
  end
207
208
 
@@ -1,3 +1,3 @@
1
1
  module HTTParty
2
- VERSION = "0.8.0"
2
+ VERSION = "0.8.1"
3
3
  end
@@ -487,6 +487,32 @@ describe HTTParty::Request do
487
487
  end
488
488
  end
489
489
 
490
+ describe "#handle_deflation" do
491
+ context "context-encoding" do
492
+ before do
493
+ @request.options[:format] = :html
494
+ @last_response = mock()
495
+ @last_response.stub!(:body).and_return('')
496
+ end
497
+
498
+ it "should inflate the gzipped body" do
499
+ @last_response.stub!(:[]).with("content-encoding").and_return("gzip")
500
+ @request.stub!(:last_response).and_return(@last_response)
501
+ Zlib::GzipReader.should_receive(:new).and_return(StringIO.new(''))
502
+ @request.last_response.should_receive(:delete).with('content-encoding')
503
+ @request.send(:handle_deflation)
504
+ end
505
+
506
+ it "should inflate the deflated body" do
507
+ @last_response.stub!(:[]).with("content-encoding").and_return("deflate")
508
+ @request.stub!(:last_response).and_return(@last_response)
509
+ Zlib::Inflate.should_receive(:inflate).and_return('')
510
+ @request.last_response.should_receive(:delete).with('content-encoding')
511
+ @request.send(:handle_deflation)
512
+ end
513
+ end
514
+ end
515
+
490
516
  context "with POST http method" do
491
517
  it "should raise argument error if query is not a hash" do
492
518
  lambda {
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httparty
3
3
  version: !ruby/object:Gem::Version
4
- hash: 63
4
+ hash: 61
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 8
9
- - 0
10
- version: 0.8.0
9
+ - 1
10
+ version: 0.8.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - John Nunemaker
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-09-13 00:00:00 Z
19
+ date: 2011-10-05 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: multi_json
@@ -66,6 +66,7 @@ files:
66
66
  - cucumber.yml
67
67
  - examples/aaws.rb
68
68
  - examples/basic.rb
69
+ - examples/crack.rb
69
70
  - examples/custom_parsers.rb
70
71
  - examples/delicious.rb
71
72
  - examples/google.rb