# File lib/chef/solr_query/solr_http_request.rb, line 105
      def run(description="HTTP Request to Solr")
        response = http_client.request(@request)
        request_failed!(response, description) unless response.kind_of?(Net::HTTPSuccess)
        response.body
      rescue NoMethodError => e
        # http://redmine.ruby-lang.org/issues/show/2708
        # http://redmine.ruby-lang.org/issues/show/2758
        if e.to_s =~ /#{Regexp.escape(%q|undefined method 'closed?' for nil:NilClass|)}/
          Chef::Log.fatal("#{description} failed.  Chef::Exceptions::SolrConnectionError exception: Errno::ECONNREFUSED (net/http undefined method closed?) attempting to contact #{solr_url}")
          Chef::Log.debug("Rescued error in http connect, treating it as Errno::ECONNREFUSED to hide bug in net/http")
          Chef::Log.debug(e.backtrace.join("\n"))
          raise Chef::Exceptions::SolrConnectionError, "Errno::ECONNREFUSED: Connection refused attempting to contact #{solr_url}"
        else
          raise
        end
      end