# File lib/fog/rackspace/service.rb, line 39 def request(params, parse_json = true) first_attempt = true begin response = @connection.request(request_params(params)) rescue Excon::Errors::Unauthorized => error raise error unless first_attempt first_attempt = false authenticate retry rescue Excon::Error::Socket => ees if ees.message && ees.message.downcase.include?('broken pipe') raise ees unless first_attempt first_attempt = false authenticate retry end end process_response(response) if parse_json response end