mirror of
https://github.com/rest-client/rest-client.git
synced 2022-11-09 13:49:40 -05:00
ResourceNotFound exception for 404 errors
This commit is contained in:
parent
b1dac743f4
commit
95236bc6d2
3 changed files with 10 additions and 1 deletions
|
@ -7,6 +7,9 @@ module RestClient
|
|||
# Authorization is required to access the resource specified.
|
||||
class Unauthorized < RuntimeError; end
|
||||
|
||||
# No resource was found at the given URL.
|
||||
class ResourceNotFound < RuntimeError; end
|
||||
|
||||
# The server broke the connection prior to the request completing.
|
||||
class ServerBrokeConnection < RuntimeError; end
|
||||
|
||||
|
@ -35,7 +38,6 @@ module RestClient
|
|||
|
||||
def message(default="Unknown error, HTTP status code #{http_code}")
|
||||
return default unless @response
|
||||
return "Resource not found" if http_code == 404
|
||||
parse_error_xml rescue default
|
||||
end
|
||||
|
||||
|
|
|
@ -124,6 +124,8 @@ module RestClient
|
|||
raise Redirect, res.header['Location']
|
||||
elsif res.code == "401"
|
||||
raise Unauthorized
|
||||
elsif res.code == "404"
|
||||
raise ResourceNotFound
|
||||
else
|
||||
raise RequestFailed, res
|
||||
end
|
||||
|
|
|
@ -189,6 +189,11 @@ describe RestClient do
|
|||
lambda { @request.process_result(res) }.should raise_error(RestClient::Unauthorized)
|
||||
end
|
||||
|
||||
it "raises ResourceNotFound when the response is 404" do
|
||||
res = mock('response', :code => '404')
|
||||
lambda { @request.process_result(res) }.should raise_error(RestClient::ResourceNotFound)
|
||||
end
|
||||
|
||||
it "raises RequestFailed otherwise" do
|
||||
res = mock('response', :code => '500')
|
||||
lambda { @request.process_result(res) }.should raise_error(RestClient::RequestFailed)
|
||||
|
|
Loading…
Add table
Reference in a new issue