Set no-cache headers on page while firstRun is True
This commit is contained in:
parent
163100bd44
commit
f1afb70b47
1 changed files with 17 additions and 4 deletions
|
|
@ -21,7 +21,9 @@ import logging
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@app.route("/")
|
@app.route("/")
|
||||||
@util.flask.cached(refreshif=lambda: util.flask.cache_check_headers() or "_refresh" in request.values, key=lambda: "view/%s/%s" % (request.path, g.locale))
|
@util.flask.cached(refreshif=lambda: util.flask.cache_check_headers() or "_refresh" in request.values,
|
||||||
|
key=lambda: "view/%s/%s" % (request.path, g.locale),
|
||||||
|
unless_response=util.flask.cache_check_response_headers)
|
||||||
def index():
|
def index():
|
||||||
|
|
||||||
#~~ a bunch of settings
|
#~~ a bunch of settings
|
||||||
|
|
@ -240,12 +242,13 @@ def index():
|
||||||
|
|
||||||
#~~ prepare full set of template vars for rendering
|
#~~ prepare full set of template vars for rendering
|
||||||
|
|
||||||
|
first_run = settings().getBoolean(["server", "firstRun"]) and (userManager is None or not userManager.hasBeenCustomized())
|
||||||
render_kwargs = dict(
|
render_kwargs = dict(
|
||||||
webcamStream=settings().get(["webcam", "stream"]),
|
webcamStream=settings().get(["webcam", "stream"]),
|
||||||
enableTemperatureGraph=settings().get(["feature", "temperatureGraph"]),
|
enableTemperatureGraph=settings().get(["feature", "temperatureGraph"]),
|
||||||
enableAccessControl=userManager is not None,
|
enableAccessControl=userManager is not None,
|
||||||
enableSdSupport=settings().get(["feature", "sdSupport"]),
|
enableSdSupport=settings().get(["feature", "sdSupport"]),
|
||||||
firstRun=settings().getBoolean(["server", "firstRun"]) and (userManager is None or not userManager.hasBeenCustomized()),
|
firstRun=first_run,
|
||||||
debug=debug,
|
debug=debug,
|
||||||
version=VERSION,
|
version=VERSION,
|
||||||
display_version=DISPLAY_VERSION,
|
display_version=DISPLAY_VERSION,
|
||||||
|
|
@ -260,10 +263,20 @@ def index():
|
||||||
|
|
||||||
#~~ render!
|
#~~ render!
|
||||||
|
|
||||||
return render_template(
|
import datetime
|
||||||
|
|
||||||
|
response = make_response(render_template(
|
||||||
"index.jinja2",
|
"index.jinja2",
|
||||||
**render_kwargs
|
**render_kwargs
|
||||||
)
|
))
|
||||||
|
response.headers["Last-Modified"] = datetime.datetime.now()
|
||||||
|
|
||||||
|
if first_run:
|
||||||
|
response.headers["Cache-Control"] = "no-store, no-cache, must-revalidate, post-check=0, pre-check=0, max-age=0"
|
||||||
|
response.headers["Pragma"] = "no-cache"
|
||||||
|
response.headers["Expires"] = "-1"
|
||||||
|
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
def _process_template_configs(name, implementation, configs, rules):
|
def _process_template_configs(name, implementation, configs, rules):
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue