# File lib/yadis/xrires.rb, line 42
    def query(xri, service_types)
      # these can be query args or http headers, needn't be both.
      # headers = {'Accept' => 'application/xrds+xml;sep=true'}
      fetcher = NetHTTPFetcher.new
      services = service_types.collect { |service_type|
        url = self.query_url(xri, service_type)
        response = fetcher.get(url)
        raise XRIHTTPError, "Could not fetch #{xri}" if response.nil?
        xrds = XRDS.new(response[1].body)
        return xrds.services unless xrds.nil?
      }
      # TODO:
      #  * If we do get hits for multiple service_types, we're almost 
      #    certainly going to have duplicated service entries and 
      #    broken priority ordering.
      services = services.inject([]) { |flatter, some_services|
        flatter.concat(some_services) unless some_services.nil?
      }
    end