lib/fedora/connection.rb in active-fedora-1.2.2 vs lib/fedora/connection.rb in active-fedora-1.2.3

- old
+ new

@@ -17,11 +17,11 @@ @response = response @message = message end def to_s - "Failed with #{response.code} #{response.message if response.respond_to?(:message)}" + "Failed with #{response.code} #{@message.to_s}" end end # 3xx Redirection class Redirection < ConnectionError # :nodoc: @@ -153,33 +153,34 @@ handle_response(result) end # Handles response and error codes from remote service. def handle_response(response) + message = "Error from Fedora: #{response.body}" case response.code.to_i when 301,302 raise(Redirection.new(response)) when 200...400 response when 400 - raise(BadRequest.new(response)) + raise(BadRequest.new(response, message)) when 401 - raise(UnauthorizedAccess.new(response)) + raise(UnauthorizedAccess.new(response, message)) when 403 - raise(ForbiddenAccess.new(response)) + raise(ForbiddenAccess.new(response, message)) when 404 - raise(ResourceNotFound.new(response)) + raise(ResourceNotFound.new(response, message)) when 405 - raise(MethodNotAllowed.new(response)) + raise(MethodNotAllowed.new(response, message)) when 409 - raise(ResourceConflict.new(response)) + raise(ResourceConflict.new(response, message)) when 422 - raise(ResourceInvalid.new(response)) - when 401...500 - raise(ClientError.new(response)) + raise(ResourceInvalid.new(response, message)) + when 423...500 + raise(ClientError.new(response, message)) when 500...600 - raise(ServerError.new(response)) + raise(ServerError.new(response, message)) else raise(ConnectionError.new(response, "Unknown response code: #{response.code}")) end end @@ -209,6 +210,6 @@ # Sets authorization header; authentication information is pulled from credentials provided with site URI. def authorization_header (@site.user || @site.password ? { 'Authorization' => 'Basic ' + ["#{@site.user}:#{ @site.password}"].pack('m').delete("\r\n") } : {}) end end -end +end \ No newline at end of file