本文整理汇总了Python中werkzeug.wrappers.Response.headers['Cache-Control']方法的典型用法代码示例。如果您正苦于以下问题:Python Response.headers['Cache-Control']方法的具体用法?Python Response.headers['Cache-Control']怎么用?Python Response.headers['Cache-Control']使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类werkzeug.wrappers.Response
的用法示例。
在下文中一共展示了Response.headers['Cache-Control']方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _try_special_request
# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import headers['Cache-Control'] [as 别名]
def _try_special_request(self, environ, request):
static_mount = '/__piecrust_static/'
if request.path.startswith(static_mount):
rel_req_path = request.path[len(static_mount):]
mount = os.path.join(RESOURCES_DIR, 'server')
full_path = os.path.join(mount, rel_req_path)
try:
response = self._make_wrapped_file_response(
environ, request, full_path)
return response
except OSError:
pass
debug_mount = '/__piecrust_debug/'
if request.path.startswith(debug_mount):
rel_req_path = request.path[len(debug_mount):]
if rel_req_path == 'pipeline_status':
from piecrust.serving.procloop import (
PipelineStatusServerSideEventProducer)
provider = PipelineStatusServerSideEventProducer(
self._proc_loop.status_queue)
it = ClosingIterator(provider.run(), [provider.close])
response = Response(it)
response.headers['Cache-Control'] = 'no-cache'
if 'text/event-stream' in request.accept_mimetypes:
response.mimetype = 'text/event-stream'
response.direct_passthrough = True
response.implicit_sequence_conversion = False
return response
return None
示例2: _startSSEProvider
# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import headers['Cache-Control'] [as 别名]
def _startSSEProvider(self, request, start_response):
from piecrust.serving.procloop import (
PipelineStatusServerSentEventProducer)
provider = PipelineStatusServerSentEventProducer(
self._proc_loop)
it = provider.run()
response = Response(it, mimetype='text/event-stream')
response.headers['Cache-Control'] = 'no-cache'
response.headers['Last-Event-ID'] = \
self._proc_loop.last_status_id
return ClosingIterator(
response(request.environ, start_response),
[provider.close])
示例3: get
# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import headers['Cache-Control'] [as 别名]
def get(self):
path = self.kwargs['path']
filename = os.path.join(self.static_dir, path)
if not os.path.isfile(filename):
raise NotFound
type, encoding = guess_type(filename)
type = type or 'application/octet-stream'
expiry = time.asctime(time.gmtime(time.time() + 3600))
response = Response(mimetype=type)
response.headers['Expires'] = expiry
response.headers['Cache-Control'] = 'public'
response.response = open(filename, 'rb')
return response
示例4: _getStaticResponse
# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import headers['Cache-Control'] [as 别名]
def _getStaticResponse(self):
rs = Response()
# find the static resource
path = [self.static_path]
path.extend(self.requested_path.split('/'))
path = os.path.join(*path)
# check last modified
modified_real = datetime.fromtimestamp(os.stat(path).st_mtime)
# check if cache is in browser and if it is new enough
if self.request.if_modified_since:
if modified_real <= self.request.if_modified_since:
# the cache is usable -> not modified status
rs.status_code=304
return rs
# cache is old, proceed serving
with open(path, 'r') as fh:
rs.data = fh.read()
rs.content_length = len(rs.data)
# set content type
try:
ext = path.split(".")[-1].lower()
except IndexError:
rs.content_type="text/text"
else:
rs.content_type = self._types.get(ext, 'text/text')
# set cache headers
rs.pragma = 'public'
rs.headers['Cache-Control']= "max-age=%d" % (24*3600)
expires = datetime.now()+timedelta(days=1)
rs.headers['Expires'] = http_date(expires)
rs.headers['Last-Modified'] = http_date(modified_real)
return rs
示例5: application
# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import headers['Cache-Control'] [as 别名]
def application(request):
response = Response('binary data here', mimetype='application/vnd.ms-excel')
response.headers['Pragma'] = ', '.join(pragma)
response.headers['Cache-Control'] = cc.to_header()
response.headers['Content-Disposition'] = 'attachment; filename=foo.xls'
return response