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


Python Response.content_length方法代码示例

本文整理汇总了Python中werkzeug.wrappers.Response.content_length方法的典型用法代码示例。如果您正苦于以下问题:Python Response.content_length方法的具体用法?Python Response.content_length怎么用?Python Response.content_length使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在werkzeug.wrappers.Response的用法示例。


在下文中一共展示了Response.content_length方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get_file_response

# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import content_length [as 别名]
    def get_file_response(self, path, request):
        try:
            full_path = find_file(self.search_paths, path)
            if full_path is None:
                raise NotFound()
            file_obj = open(full_path, 'rb')
            mtime = get_file_mtime(full_path)
            fsize = os.path.getsize(full_path)
        except (ValueError, IOError, OSError):
            raise Forbidden()
        mimetype, encoding = mimetypes.guess_type(full_path)
        if not mimetype:
            peeked = peek_file(file_obj, 1024)
            is_binary = is_binary_string(peeked)
            if peeked and is_binary:
                mimetype = self.default_binary_mime
            else:
                mimetype = self.default_text_mime  # TODO: binary

        resp = Response('')
        cached_mtime = request.if_modified_since
        if self.cache_timeout:
            resp.cache_control.public = True
            if mtime == cached_mtime:
                file_obj.close()
                resp.status_code = 304
                resp.cache_control.max_age = self.cache_timeout
                return resp
        file_wrapper = request.environ.get('wsgi.file_wrapper', FileWrapper)
        resp.response = file_wrapper(file_obj)
        resp.content_type = mimetype
        resp.content_length = fsize
        resp.last_modified = mtime
        return resp
开发者ID:slaporte,项目名称:clastic,代码行数:36,代码来源:static.py

示例2: render_static

# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import content_length [as 别名]
    def render_static(self, request, fileobj):
        if request.method != 'GET':
            raise http.MethodNotAllowed(['GET'])

        content_type, _ = mimetypes.guess_type(fileobj.name)

        stat = os.stat(fileobj.name)
        etag = hashlib.md5(str(stat.st_mtime)).hexdigest()

        response = Response(fileobj, mimetype=content_type)
        response.content_length = stat.st_size
        response.add_etag(etag)
        response.last_modified = datetime.utcfromtimestamp(stat.st_mtime)
        response.expires = datetime.utcfromtimestamp(stat.st_mtime + self.static_expires)

        response.make_conditional(request)
        return response
开发者ID:dcrosta,项目名称:keystone,代码行数:19,代码来源:main.py

示例3: _getStaticResponse

# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import content_length [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

示例4: prepare_response

# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import content_length [as 别名]
def prepare_response(tpl_env, raw_response):
    if type(raw_response) is Response:
        return raw_response

    if len(raw_response) > 3:
        raise ValueError

    view, template = raw_response[:2]

    response = Response('', content_type = "text/html; charset=UTF-8")

    response.data = tpl_env.get_template(template).render(**view)
    response.content_length = len(response.data)

    if len(raw_response) == 3:
        response.status_code = raw_response[2]
    else:
        response.status_code = 200

    return response
开发者ID:petrushev,项目名称:ideasphere,代码行数:22,代码来源:app.py

示例5: return_json

# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import content_length [as 别名]
def return_json(view):
    response = Response('', content_type="text/json; charset=UTF-8")
    response.data = dumps(view)
    response.content_length = len(response.data)
    response.content_type = "application/json"
    return response
开发者ID:petrushev,项目名称:ideasphere,代码行数:8,代码来源:utils.py


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