Skip to content

Commit

Permalink
using the correct header information
Browse files Browse the repository at this point in the history
  • Loading branch information
guilhermesilveira committed Oct 21, 2010
1 parent a8df594 commit e7f5890
Show file tree
Hide file tree
Showing 8 changed files with 44 additions and 72 deletions.
2 changes: 1 addition & 1 deletion lib/restfulie/client/feature/follow_link.rb
Expand Up @@ -19,7 +19,7 @@ def execute(flow, request, response, env)
raise Error::AutoFollowWithoutLocationError.new(request, resp) unless location
# use the first location available
location = location[0]
Restfulie.debug.at(location).get
Restfulie.at(location).get
else
resp
end
Expand Down
41 changes: 41 additions & 0 deletions lib/restfulie/client/feature/throw_error.rb
@@ -0,0 +1,41 @@
class Restfulie::Client::Feature::ThrowError
def execute(flow, request, result_so_far, env)
result = flow.continue(request, result_so_far, env)
if result.kind_of? Exception
Restfulie::Common::Logger.logger.error(result)
raise Restfulie::Client::HTTP::Error::ServerNotAvailableError.new(request, Restfulie::Client::HTTP::Response.new(request.verb, request.path, 503, nil, {}), result )
end
case result.response.code.to_i
when 100..299
result
when 300..399
raise Restfulie::Client::HTTP::Error::Redirection.new(request, result)
when 400
raise Restfulie::Client::HTTP::Error::BadRequest.new(request, result)
when 401
raise Restfulie::Client::HTTP::Error::Unauthorized.new(request, result)
when 403
raise Restfulie::Client::HTTP::Error::Forbidden.new(request, result)
when 404
raise Restfulie::Client::HTTP::Error::NotFound.new(request, result)
when 405
raise Restfulie::Client::HTTP::Error::MethodNotAllowed.new(request, result)
when 407
raise Restfulie::Client::HTTP::Error::ProxyAuthenticationRequired.new(request, result)
when 409
raise Restfulie::Client::HTTP::Error::Conflict.new(request, result)
when 410
raise Restfulie::Client::HTTP::Error::Gone.new(request, result)
when 412
raise Restfulie::Client::HTTP::Error::PreconditionFailed.new(request, result)
when 402, 406, 408, 411, 413..499
raise Restfulie::Client::HTTP::Error::ClientError.new(request, result)
when 501
raise Restfulie::Client::HTTP::Error::NotImplemented.new(request, result)
when 500, 502..599
raise Restfulie::Client::HTTP::Error::ServerError.new(request, result)
else
raise Restfulie::Client::HTTP::Error::UnknownError.new(request, result)
end
end
end
1 change: 1 addition & 0 deletions lib/restfulie/client/feature/verb.rb
Expand Up @@ -57,6 +57,7 @@ def delete
def get!(params = {})
@verb = :get
at query_string(params)
request :throw_error
request_flow :throw_error => true
end

Expand Down
2 changes: 1 addition & 1 deletion lib/restfulie/client/http/response_holder.rb
Expand Up @@ -6,7 +6,7 @@ module ResponseHolder

def resource
type = headers['content-type'] || response['Content-Type']
representation = Restfulie::Client::HTTP::RequestMarshaller.content_type_for(type) || Restfulie::Common::Representation::Generic.new
representation = Restfulie::Client::HTTP::RequestMarshaller.content_type_for(type[0]) || Restfulie::Common::Representation::Generic.new
representation.unmarshal(response.body)
end

Expand Down
2 changes: 0 additions & 2 deletions lib/restfulie/client/response.rb
@@ -1,8 +1,6 @@
module Restfulie
module Client
module Response#:nodoc:
autoload :IgnoreError, 'restfulie/client/response/ignore_error'
autoload :CatchAndThrow, 'restfulie/client/response/catch_and_throw'
autoload :CacheHandler, 'restfulie/client/response/cache_handler'
autoload :CreatedRedirect, 'restfulie/client/response/created_redirect'
end
Expand Down
47 changes: 0 additions & 47 deletions lib/restfulie/client/response/catch_and_throw.rb

This file was deleted.

21 changes: 0 additions & 21 deletions lib/restfulie/client/response/ignore_error.rb

This file was deleted.

File renamed without changes.

0 comments on commit e7f5890

Please sign in to comment.