about summary refs log tree commit diff
path: root/app/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/accounts_controller.rb9
-rw-r--r--app/controllers/stream_entries_controller.rb7
2 files changed, 13 insertions, 3 deletions
diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb
index 2d4c2dd9a..bfdc5b6d9 100644
--- a/app/controllers/accounts_controller.rb
+++ b/app/controllers/accounts_controller.rb
@@ -2,7 +2,7 @@ class AccountsController < ApplicationController
   layout 'public'
 
   before_action :set_account
-  before_action :set_webfinger_header
+  before_action :set_link_headers
 
   def show
     respond_to do |format|
@@ -39,8 +39,11 @@ class AccountsController < ApplicationController
     @account = Account.find_local!(params[:username])
   end
 
-  def set_webfinger_header
-    response.headers['Link'] = "<#{webfinger_account_url}>; rel=\"lrdd\"; type=\"application/xrd+xml\""
+  def set_link_headers
+    response.headers['Link'] = LinkHeader.new([
+      [webfinger_account_url, [['rel', 'lrdd'], ['type', 'application/xrd+xml']]],
+      [account_url(@account, format: 'atom'), [['rel', 'alternate'], ['type', 'application/atom+xml']]]
+    ])
   end
 
   def webfinger_account_url
diff --git a/app/controllers/stream_entries_controller.rb b/app/controllers/stream_entries_controller.rb
index c26149627..e25e7f5ed 100644
--- a/app/controllers/stream_entries_controller.rb
+++ b/app/controllers/stream_entries_controller.rb
@@ -3,6 +3,7 @@ class StreamEntriesController < ApplicationController
 
   before_action :set_account
   before_action :set_stream_entry
+  before_action :set_link_headers
 
   def show
     @type = @stream_entry.activity_type.downcase
@@ -33,6 +34,12 @@ class StreamEntriesController < ApplicationController
     @account = Account.find_local!(params[:account_username])
   end
 
+  def set_link_headers
+    response.headers['Link'] = LinkHeader.new([
+      [account_stream_entry_url(@account, @stream_entry, format: 'atom'), [['rel', 'alternate'], ['type', 'application/atom+xml']]]
+    ])
+  end
+
   def set_stream_entry
     @stream_entry = @account.stream_entries.find(params[:id])
   end