# 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