logo

mastofe

My custom branche(s) on git.pleroma.social/pleroma/mastofe
commit: 99f962ba731f67050a914bb5b9a245869531ebd1
parent: 2471796d75d6d7b1eb801faba65d16ff7b825adc
Author: ThibG <thib@sitedethib.com>
Date:   Wed,  3 Jan 2018 04:57:57 +0100

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

Diffstat:

Mapp/controllers/statuses_controller.rb7+++++++
1 file changed, 7 insertions(+), 0 deletions(-)

diff --git a/app/controllers/statuses_controller.rb b/app/controllers/statuses_controller.rb @@ -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