本文整理汇总了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
示例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
示例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