Skip to content

Commit

Permalink
Merge branch 'kylev-master' into next
Browse files Browse the repository at this point in the history
Conflicts:
	lib/restclient/abstract_response.rb
  • Loading branch information
archiloque committed Dec 18, 2010
2 parents 19bfd6f + ccabff0 commit 364212e
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
4 changes: 2 additions & 2 deletions lib/restclient/abstract_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def cookies

# Return the default behavior corresponding to the response code:
# the response itself for code in 200..206, redirection for 301, 302 and 307 in get and head cases, redirection for 303 and an exception in other cases
def return! request = nil, result = nil, & block
def return! request = nil, result = nil, & block
if (200..207).include? code
self
elsif [301, 302, 307].include? code
Expand All @@ -47,7 +47,7 @@ def return! request = nil, result = nil, & block
elsif Exceptions::EXCEPTIONS_MAP[code]
raise Exceptions::EXCEPTIONS_MAP[code].new(self, code)
else
raise RequestFailed(self)
raise RequestFailed.new(self, code)
end
end

Expand Down
18 changes: 18 additions & 0 deletions spec/abstract_response_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,22 @@ def initialize net_http_res, args
it "can access the net http result directly" do
@response.net_http_res.should == @net_http_res
end

describe "#return!" do
it "should return the response itself on 200-codes" do
@net_http_res.should_receive(:code).and_return('200')
@response.return!.should be_equal(@response)
end

it "should raise RequestFailed on unknown codes" do
@net_http_res.should_receive(:code).and_return('1000')
lambda { @response.return! }.should raise_error RestClient::RequestFailed
end

it "should raise an error on a redirection after non-GET/HEAD requests" do
@net_http_res.should_receive(:code).and_return('301')
@response.args.merge(:method => :put)
lambda { @response.return! }.should raise_error RestClient::RequestFailed
end
end
end

0 comments on commit 364212e

Please sign in to comment.