# File lib/openid/discovery.rb, line 38
    def discover(filter=nil)
      unless filter
        filter = lambda {|s| OpenIDServiceEndpoint.from_endpoint(s)}
      end
      
      begin
        # do yadis discover, filtering out OpenID services
        return super(filter)
      rescue YADISParseError, YADISHTTPError

        # Couldn't do Yadis discovery, fall back on OpenID 1.0 disco
        status, service = self.openid_discovery(@url)
        if status == SUCCESS
          return [service.consumer_id, [service]]
        end
      end

      return [nil, []]
    end