mirror of
https://github.com/discourse/discourse.git
synced 2024-11-27 04:53:37 +08:00
PERF: missing caching on CSS and Site Customizations
This commit is contained in:
parent
2b208db071
commit
4fbfc6ddbc
|
@ -2,6 +2,13 @@ class SiteCustomizationsController < ApplicationController
|
|||
skip_before_filter :preload_json, :check_xhr, :redirect_to_login_if_required
|
||||
|
||||
def show
|
||||
version = params["v"]
|
||||
|
||||
if version && version == request.headers['If-None-Match']
|
||||
return render nothing: true, status: 304
|
||||
end
|
||||
|
||||
response.headers["ETag"] = version if version
|
||||
expires_in 1.year, public: true
|
||||
render text: SiteCustomization.stylesheet_contents(params[:key], params[:target] == "mobile" ? :mobile : :desktop),
|
||||
content_type: "text/css"
|
||||
|
|
|
@ -4,8 +4,12 @@ class StylesheetsController < ApplicationController
|
|||
def show
|
||||
|
||||
target,digest = params[:name].split("_")
|
||||
|
||||
digest_orig = digest
|
||||
|
||||
if digest_orig && digest_orig == request.headers['If-None-Match']
|
||||
return render nothing: true, status: 304
|
||||
end
|
||||
|
||||
digest = "_" + digest if digest
|
||||
|
||||
# Security note, safe due to route constraint
|
||||
|
@ -26,6 +30,7 @@ class StylesheetsController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
response.headers['ETag'] = digest_orig if digest_orig
|
||||
expires_in 1.year, public: true unless Rails.env == "development"
|
||||
send_file(location, disposition: :inline)
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user