about summary refs log tree commit diff
path: root/spec/controllers/well_known
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2021-07-03 21:13:47 +0200
committerGitHub <noreply@github.com>2021-07-03 21:13:47 +0200
commit49219508bc2e01fe724830ca31a7cfa7adba15cf (patch)
tree98ce1a101130c9efff5ca038a1abbad3402a5a46 /spec/controllers/well_known
parent38b34199507d81cac9f4ff18b5ce11f5e7ef9f23 (diff)
Fix anonymous access to outbox not being cached by the reverse proxy (#16458)
* Fix anonymous access to outbox not being cached by the reverse proxy

Up until now, anonymous access to outbox was marked as public, but with a
0 duration for caching, which means remote proxies would only serve from cache
when the server was completely overwhelmed.

Changed that cache duration to one minute, so that repeated anonymous access
to one account's outbox can be appropriately cached.

Also added `Signature` to the `Vary` header in case a page is requested, so
that authenticated fetches are never served from cache (which only contains
public toots).

* Remove Vary: Accept header from webfinger controller

Indeed, we have stopped returning xrd, and only ever return jrd, so the
Accept request header does not matter anymore.

* Cache negative webfinger hits for 3 minutes
Diffstat (limited to 'spec/controllers/well_known')
-rw-r--r--spec/controllers/well_known/webfinger_controller_spec.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/spec/controllers/well_known/webfinger_controller_spec.rb b/spec/controllers/well_known/webfinger_controller_spec.rb
index 1075456f3..8574d369d 100644
--- a/spec/controllers/well_known/webfinger_controller_spec.rb
+++ b/spec/controllers/well_known/webfinger_controller_spec.rb
@@ -24,6 +24,10 @@ describe WellKnown::WebfingerController, type: :controller do
         expect(response).to have_http_status(200)
       end
 
+      it 'does not set a Vary header' do
+        expect(response.headers['Vary']).to be_nil
+      end
+
       it 'returns application/jrd+json' do
         expect(response.media_type).to eq 'application/jrd+json'
       end