当前位置: 首页>>代码示例>>Python>>正文


Python Response.headers['Cache-Control']方法代码示例

本文整理汇总了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
开发者ID:sinistersnare,项目名称:PieCrust2,代码行数:33,代码来源:server.py

示例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])
开发者ID:ludovicchabant,项目名称:PieCrust2,代码行数:15,代码来源:middlewares.py

示例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
开发者ID:dalinhuang,项目名称:gybprojects,代码行数:15,代码来源:handlers.py

示例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
开发者ID:petrushev,项目名称:plate,代码行数:45,代码来源:web.py

示例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
开发者ID:2009bpy,项目名称:werkzeug,代码行数:8,代码来源:test_fixers.py


注:本文中的werkzeug.wrappers.Response.headers['Cache-Control']方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。