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


Python Response.headers['etag']方法代码示例

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


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

示例1: _render_atom_feed

# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import headers['etag'] [as 别名]
def _render_atom_feed(request, mb, messages):    
    entries = []
    for message in messages:
        renderer = _get_atom_renderer(message, request)
        if renderer is not None:
            entries.append(renderer)

    info = MailboxInfo.get(mb)
    
    # absolute url for requested feed
    feed_url = request.url
    template_info = TemplateContext(request,
          {'id': feed_url,
           'self_link': feed_url,
           'updated': datetime.utcnow(), # XXX
           'title': info.title or request.context.get_mailbox_slug(mb.name),
           'entries': entries,
          })

    res = HttpResponse(content_type='application/atom+xml')
    res.charset = 'utf-8'
    res.unicode_body = request.context.render('radar/atom/atom.xml', template_info)
    res.headers['etag'] = get_mailbox_etag(mb)
    
    return res
开发者ID:ltucker,项目名称:radarpost,代码行数:27,代码来源:controller.py

示例2: best_response

# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import headers['etag'] [as 别名]
    def best_response(self, req, statuses, reasons, bodies, server_type,
                      etag=None):
        """
        Given a list of responses from several servers, choose the best to
        return to the API.

        :param req: webob.Request object
        :param statuses: list of statuses returned
        :param reasons: list of reasons for each status
        :param bodies: bodies of each response
        :param server_type: type of server the responses came from
        :param etag: etag
        :returns: webob.Response object with the correct status, body, etc. set
        """
        resp = Response(request=req)
        if len(statuses):
            for hundred in (HTTP_OK, HTTP_MULTIPLE_CHOICES, HTTP_BAD_REQUEST):
                hstatuses = \
                    [s for s in statuses if hundred <= s < hundred + 100]
                if len(hstatuses) > len(statuses) / 2:
                    status = max(hstatuses)
                    status_index = statuses.index(status)
                    resp.status = '%s %s' % (status, reasons[status_index])
                    resp.body = bodies[status_index]
                    resp.content_type = 'text/html'
                    if etag:
                        resp.headers['etag'] = etag.strip('"')
                    return resp
        self.app.logger.error(_('%(type)s returning 503 for %(statuses)s'),
                              {'type': server_type, 'statuses': statuses})
        resp.status = '503 Internal Server Error'
        return resp
开发者ID:missall,项目名称:swift,代码行数:34,代码来源:base.py

示例3: mailbox_exists

# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import headers['etag'] [as 别名]
def mailbox_exists(request, mailbox_slug):
    """
    tests existence of a mailbox. 
    returns 200 if the mailbox exists, 404 if not.
    """
    ctx = request.context 
    mb = ctx.get_mailbox(mailbox_slug)
    if mb is None:
        return HttpResponse(status=404)
    
    etag = get_mailbox_etag(mb)
    cached = check_etag(request, etag)
    if cached is not None:
        return cached
    
    res = HttpResponse(content_type="text/html")
    res.headers['etag'] = etag
    return res
开发者ID:ltucker,项目名称:radarpost,代码行数:20,代码来源:controller.py


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