about summary refs log tree commit diff
path: root/spec/controllers/well_known/webfinger_controller_spec.rb
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/webfinger_controller_spec.rb
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/webfinger_controller_spec.rb')
-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