Browse Source

Allow HTTP caching of json view of public statuses (#6115)

* Allow HTTP caching of json view of public statuses

HTML views are not cached as they can contain private statuses as well

* Disable session cookies for ActivityPub json rendering of public toots
pull/4/head
ThibG 6 years ago
committed by Eugen Rochko
parent
commit
99f962ba73
1 changed files with 7 additions and 0 deletions
  1. +7
    -0
      app/controllers/statuses_controller.rb

+ 7
- 0
app/controllers/statuses_controller.rb View File

@ -10,6 +10,7 @@ class StatusesController < ApplicationController
before_action :set_link_headers
before_action :check_account_suspension
before_action :redirect_to_original, only: [:show]
before_action { response.headers['Vary'] = 'Accept' }
def show
respond_to do |format|
@ -25,6 +26,12 @@ class StatusesController < ApplicationController
serializer: ActivityPub::NoteSerializer,
adapter: ActivityPub::Adapter,
content_type: 'application/activity+json'
# Allow HTTP caching for 3 minutes if the status is public
unless @stream_entry.hidden?
request.session_options[:skip] = true
expires_in(3.minutes, public: true)
end
end
end
end

Loading…
Cancel
Save