remove type constraint in host-meta to support friendica/redmatrix again
This commit is contained in:
parent
e55a42ea73
commit
b114973785
2 changed files with 19 additions and 1 deletions
|
|
@ -84,7 +84,7 @@ module DiasporaFederation
|
||||||
# @param [Hash] data extracted data
|
# @param [Hash] data extracted data
|
||||||
# @return [String] webfinger url
|
# @return [String] webfinger url
|
||||||
def self.webfinger_url_from_xrd(data)
|
def self.webfinger_url_from_xrd(data)
|
||||||
link = data[:links].find {|l| (l[:rel] == "lrdd" && l[:type] == "application/xrd+xml") }
|
link = data[:links].find {|l| l[:rel] == "lrdd" }
|
||||||
return link[:template] unless link.nil?
|
return link[:template] unless link.nil?
|
||||||
end
|
end
|
||||||
private_class_method :webfinger_url_from_xrd
|
private_class_method :webfinger_url_from_xrd
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,24 @@ XML
|
||||||
expect(hm.webfinger_template_url).to eq("#{base_url}webfinger?q={uri}")
|
expect(hm.webfinger_template_url).to eq("#{base_url}webfinger?q={uri}")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "also reads friendica/redmatrix XML" do
|
||||||
|
friendica_redmatrix_xml = <<-XML
|
||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'
|
||||||
|
xmlns:hm='http://host-meta.net/xrd/1.0'>
|
||||||
|
|
||||||
|
<hm:Host>pod.example.tld</hm:Host>
|
||||||
|
|
||||||
|
<Link rel='lrdd' template='#{base_url}xrd/?uri={uri}' />
|
||||||
|
<Link rel="http://oexchange.org/spec/0.8/rel/resident-target" type="application/xrd+xml"
|
||||||
|
href="https://pod.example.tld/oexchange/xrd" />
|
||||||
|
|
||||||
|
</XRD>
|
||||||
|
XML
|
||||||
|
hm = Discovery::HostMeta.from_xml(friendica_redmatrix_xml)
|
||||||
|
expect(hm.webfinger_template_url).to eq("#{base_url}xrd/?uri={uri}")
|
||||||
|
end
|
||||||
|
|
||||||
it "fails if the document does not contain a webfinger url" do
|
it "fails if the document does not contain a webfinger url" do
|
||||||
invalid_xml = <<XML
|
invalid_xml = <<XML
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue