##// END OF EJS Templates
Link to watched issues list on my page....
Link to watched issues list on my page. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2457 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r2376:f70be197e0ae
r2396:5bdd4291624c
Show More
services.rb
42 lines | 1.3 KiB | text/x-ruby | RubyLexer
require 'openid/yadis/filters'
require 'openid/yadis/discovery'
require 'openid/yadis/xrds'
module OpenID
module Yadis
def Yadis.get_service_endpoints(input_url, flt=nil)
# Perform the Yadis protocol on the input URL and return an
# iterable of resulting endpoint objects.
#
# @param flt: A filter object or something that is convertable
# to a filter object (using mkFilter) that will be used to
# generate endpoint objects. This defaults to generating
# BasicEndpoint objects.
result = Yadis.discover(input_url)
begin
endpoints = Yadis.apply_filter(result.normalized_uri,
result.response_text, flt)
rescue XRDSError => err
raise DiscoveryFailure.new(err.to_s, nil)
end
return [result.normalized_uri, endpoints]
end
def Yadis.apply_filter(normalized_uri, xrd_data, flt=nil)
# Generate an iterable of endpoint objects given this input data,
# presumably from the result of performing the Yadis protocol.
flt = Yadis.make_filter(flt)
et = Yadis.parseXRDS(xrd_data)
endpoints = []
each_service(et) { |service_element|
endpoints += flt.get_service_endpoints(normalized_uri, service_element)
}
return endpoints
end
end
end