mirror of
https://github.com/discourse/discourse.git
synced 2025-06-03 19:39:30 +08:00
PERF: cache all metadata for 60 seconds
Clients tend to request webmanifests and such very often. Keep the data cached for 60 seconds so it is not requested aggresively.
This commit is contained in:
@ -22,6 +22,8 @@ RSpec.describe MetadataController do
|
||||
get "/manifest.webmanifest"
|
||||
expect(response.status).to eq(200)
|
||||
expect(response.media_type).to eq('application/manifest+json')
|
||||
expect(response.headers["Cache-Control"]).to eq('max-age=60, private')
|
||||
|
||||
manifest = JSON.parse(response.body)
|
||||
|
||||
expect(manifest["name"]).to eq(title)
|
||||
@ -105,6 +107,8 @@ RSpec.describe MetadataController do
|
||||
SiteSetting.favicon = upload
|
||||
get "/opensearch.xml"
|
||||
|
||||
expect(response.headers["Cache-Control"]).to eq('max-age=60, private')
|
||||
|
||||
expect(response.status).to eq(200)
|
||||
expect(response.body).to include(title)
|
||||
expect(response.body).to include("/search?q={searchTerms}")
|
||||
@ -130,6 +134,8 @@ RSpec.describe MetadataController do
|
||||
EOF
|
||||
get "/.well-known/assetlinks.json"
|
||||
|
||||
expect(response.headers["Cache-Control"]).to eq('max-age=60, private')
|
||||
|
||||
expect(response.status).to eq(200)
|
||||
expect(response.body).to include("hash_of_app_certificate")
|
||||
expect(response.body).to include("com.example.app")
|
||||
@ -156,6 +162,7 @@ RSpec.describe MetadataController do
|
||||
expect(response.status).to eq(200)
|
||||
expect(response.body).to include("applinks")
|
||||
expect(response.media_type).to eq('application/json')
|
||||
expect(response.headers["Cache-Control"]).to eq('max-age=60, private')
|
||||
|
||||
get "/apple-app-site-association.json"
|
||||
expect(response.status).to eq(404)
|
||||
|
Reference in New Issue
Block a user