0
0
Fork 0

Change unauthenticated responses to be cached in REST API (#24348)

This commit is contained in:
Eugen Rochko 2023-04-25 15:41:34 +02:00 committed by GitHub
parent c35e3cb6ac
commit 6084461cd0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
29 changed files with 67 additions and 9 deletions

View file

@ -5,8 +5,10 @@ class Api::V1::Instances::ActivityController < Api::BaseController
skip_before_action :require_authenticated_user!, unless: :whitelist_mode?
vary_by ''
def show
expires_in 1.day, public: true
cache_even_if_authenticated!
render_with_cache json: :activity, expires_in: 1.day
end

View file

@ -6,8 +6,10 @@ class Api::V1::Instances::DomainBlocksController < Api::BaseController
before_action :require_enabled_api!
before_action :set_domain_blocks
vary_by ''
def index
expires_in 3.minutes, public: true
cache_even_if_authenticated!
render json: @domain_blocks, each_serializer: REST::DomainBlockSerializer, with_comment: (Setting.show_domain_blocks_rationale == 'all' || (Setting.show_domain_blocks_rationale == 'users' && user_signed_in?))
end

View file

@ -5,8 +5,10 @@ class Api::V1::Instances::ExtendedDescriptionsController < Api::BaseController
before_action :set_extended_description
vary_by ''
def show
expires_in 3.minutes, public: true
cache_even_if_authenticated!
render json: @extended_description, serializer: REST::ExtendedDescriptionSerializer
end

View file

@ -5,8 +5,10 @@ class Api::V1::Instances::PeersController < Api::BaseController
skip_before_action :require_authenticated_user!, unless: :whitelist_mode?
vary_by ''
def index
expires_in 1.day, public: true
cache_even_if_authenticated!
render_with_cache(expires_in: 1.day) { Instance.where.not(domain: DomainBlock.select(:domain)).pluck(:domain) }
end

View file

@ -5,8 +5,10 @@ class Api::V1::Instances::PrivacyPoliciesController < Api::BaseController
before_action :set_privacy_policy
vary_by ''
def show
expires_in 1.day, public: true
cache_even_if_authenticated!
render json: @privacy_policy, serializer: REST::PrivacyPolicySerializer
end

View file

@ -5,7 +5,10 @@ class Api::V1::Instances::RulesController < Api::BaseController
before_action :set_rules
vary_by ''
def index
cache_even_if_authenticated!
render json: @rules, each_serializer: REST::RuleSerializer
end

View file

@ -5,8 +5,10 @@ class Api::V1::Instances::TranslationLanguagesController < Api::BaseController
before_action :set_languages
vary_by ''
def show
expires_in 1.day, public: true
cache_even_if_authenticated!
render json: @languages
end