# File lib/rhc-rest.rb, line 92
    def process_error_response(response)
      messages = Array.new
      begin
        result = JSON.parse(response)
        messages = result['messages']
      rescue Exception => e
        logger.debug "Response did not include a message from server" if @mydebug
        #puts response
      end
      case response.code
      when 401
        raise UnAuthorizedException.new("Not authenticated")
      when 403
        messages.each do |message|
          if message['severity'].upcase == "ERROR"
            raise RequestDeniedException.new(message['text'])
          end
        end
      when 404
        messages.each do |message|
          if message['severity'].upcase == "ERROR"
            raise ResourceNotFoundException.new(message['text'])
          end
        end
      when 409
        messages.each do |message|
          if message['severity'] and message['severity'].upcase == "ERROR"
            raise ValidationException.new(message['text'])
          end
        end
      when 422
        #puts response
        e = nil
        messages.each do |message|
          if message["field"]
            if e and e.field ==message["field"]
              e.message << " #{message["text"]}"
            else
              e = ValidationException.new(message["text"], message["field"])
            end
          end
        end
        raise e
      when 400
        messages.each do |message|
          if message['severity'].upcase == "ERROR"
            raise ClientErrorException.new(message['text'])
          end
        end
      when 500
        messages.each do |message|
          if message['severity'].upcase == "ERROR"
            raise ServerErrorException.new(message['text'])
          end
        end
      when 503
        messages.each do |message|
          if message['severity'].upcase == "ERROR"
            raise ServiceUnavailableException.new(message['text'])
          end
        end
      else
        raise ResourceAccessException.new("Server returned error code with no output: #{response.code}")
      end

    end