本文整理汇总了Python中aspen.Response.headers["Cache-Control"]方法的典型用法代码示例。如果您正苦于以下问题:Python Response.headers["Cache-Control"]方法的具体用法?Python Response.headers["Cache-Control"]怎么用?Python Response.headers["Cache-Control"]使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类aspen.Response
的用法示例。
在下文中一共展示了Response.headers["Cache-Control"]方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: inbound
# 需要导入模块: from aspen import Response [as 别名]
# 或者: from aspen.Response import headers["Cache-Control"] [as 别名]
def inbound(request):
"""Try to serve a 304 for resources under assets/.
"""
uri = request.line.uri
if not uri.startswith("/assets/"):
# Only apply to the assets/ directory.
return request
if version_is_dash(request):
# Special-case a version of '-' to never 304/404 here.
return request
if not version_is_available(request):
# Don't serve one version of a file as if it were another.
raise Response(404)
ims = request.headers.get("If-Modified-Since")
if not ims:
# This client doesn't care about when the file was modified.
return request
if request.fs.endswith(".spt"):
# This is a requests for a dynamic resource. Perhaps in the future
# we'll delegate to such resources to compute a sensible Last-Modified
# or E-Tag, but for now we punt. This is okay, because we expect to
# put our dynamic assets behind a CDN in production.
return request
try:
ims = timegm(parsedate(ims))
except:
# Malformed If-Modified-Since header. Proceed with the request.
return request
last_modified = get_last_modified(request.fs)
if ims < last_modified:
# The file has been modified since. Serve the whole thing.
return request
# Huzzah!
# =======
# We can serve a 304! :D
response = Response(304)
response.headers["Last-Modified"] = format_date_time(last_modified)
response.headers["Cache-Control"] = "no-cache"
raise response