diff options
author | Matt Jankowski <mjankowski@thoughtbot.com> | 2017-04-13 07:09:07 -0400 |
---|---|---|
committer | Eugen <eugen@zeonfederated.com> | 2017-04-13 13:09:07 +0200 |
commit | 137100dcf38c0da0fe7044a4c92aa06eae02c420 (patch) | |
tree | 076df3ebecd214eaedf30b83bb7036ce63c140ec /app/views/well_known/webfinger | |
parent | 3a9eb81a8006af0306e8abc54bd8aca8381eee25 (diff) |
Clean up well-known routes/controllers (#1649)
* Add request spec for host meta route returning xml * Add routing spec for xrd routes * Update well-known routes * Move webfinger and host-meta actions to their own controllers
Diffstat (limited to 'app/views/well_known/webfinger')
-rw-r--r-- | app/views/well_known/webfinger/show.json.rabl | 17 | ||||
-rw-r--r-- | app/views/well_known/webfinger/show.xml.ruby | 11 |
2 files changed, 28 insertions, 0 deletions
diff --git a/app/views/well_known/webfinger/show.json.rabl b/app/views/well_known/webfinger/show.json.rabl new file mode 100644 index 000000000..e637ed9d3 --- /dev/null +++ b/app/views/well_known/webfinger/show.json.rabl @@ -0,0 +1,17 @@ +object @account + +node(:subject) { @canonical_account_uri } + +node(:aliases) do + [TagManager.instance.url_for(@account)] +end + +node(:links) do + [ + { rel: 'http://webfinger.net/rel/profile-page', type: 'text/html', href: TagManager.instance.url_for(@account) }, + { rel: 'http://schemas.google.com/g/2010#updates-from', type: 'application/atom+xml', href: account_url(@account, format: 'atom') }, + { rel: 'salmon', href: api_salmon_url(@account.id) }, + { rel: 'magic-public-key', href: "data:application/magic-public-key,#{@magic_key}" }, + { rel: 'http://ostatus.org/schema/1.0/subscribe', template: "#{authorize_follow_url}?acct={uri}" }, + ] +end diff --git a/app/views/well_known/webfinger/show.xml.ruby b/app/views/well_known/webfinger/show.xml.ruby new file mode 100644 index 000000000..80ac71d27 --- /dev/null +++ b/app/views/well_known/webfinger/show.xml.ruby @@ -0,0 +1,11 @@ +Nokogiri::XML::Builder.new do |xml| + xml.XRD(xmlns: 'http://docs.oasis-open.org/ns/xri/xrd-1.0') do + xml.Subject @canonical_account_uri + xml.Alias TagManager.instance.url_for(@account) + xml.Link(rel: 'http://webfinger.net/rel/profile-page', type: 'text/html', href: TagManager.instance.url_for(@account)) + xml.Link(rel: 'http://schemas.google.com/g/2010#updates-from', type: 'application/atom+xml', href: account_url(@account, format: 'atom')) + xml.Link(rel: 'salmon', href: api_salmon_url(@account.id)) + xml.Link(rel: 'magic-public-key', href: "data:application/magic-public-key,#{@magic_key}") + xml.Link(rel: 'http://ostatus.org/schema/1.0/subscribe', template: "#{authorize_follow_url}?acct={uri}") + end +end.to_xml |