本文整理汇总了Python中webob.Request.orig_response方法的典型用法代码示例。如果您正苦于以下问题:Python Request.orig_response方法的具体用法?Python Request.orig_response怎么用?Python Request.orig_response使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类webob.Request
的用法示例。
在下文中一共展示了Request.orig_response方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __call__
# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import orig_response [as 别名]
def __call__(self, environ, start_response):
req = Request(environ)
if 'deliv_notheme' in req.GET:
return self.app(environ, start_response)
req.environ['deliverance.base_url'] = req.application_url
## FIXME: copy_get?:
orig_req = Request(environ.copy())
if 'deliverance.log' in req.environ:
log = req.environ['deliverance.log']
else:
log = self.log_factory(req, self, **self.log_factory_kw)
## FIXME: should this be put in both the orig_req and this req?
req.environ['deliverance.log'] = log
def resource_fetcher(url):
"""
Return the Response object for the given URL
"""
return self.get_resource(url, orig_req, log)
if req.path_info_peek() == '.deliverance':
req.path_info_pop()
resp = self.internal_app(req, resource_fetcher)
return resp(environ, start_response)
rule_set = self.rule_getter(resource_fetcher, self.app, orig_req)
clientside = rule_set.check_clientside(req, log)
if clientside and req.url in self.known_html:
if req.cookies.get('jsEnabled'):
log.debug(self, 'Responding to %s with a clientside theme' % req.url)
return self.clientside_response(req, rule_set, resource_fetcher, log)(environ, start_response)
else:
log.debug(self, 'Not doing clientside theming because jsEnabled cookie not set')
resp = req.get_response(self.app)
## FIXME: also XHTML?
if resp.content_type != 'text/html':
## FIXME: remove from known_html?
return resp(environ, start_response)
# XXX: Not clear why such responses would have a content type, but
# they sometimes do (from Zope/Plone, at least) and that then breaks
# when trying to apply a theme.
if resp.status_int in (301, 302, 304):
return resp(environ, start_response)
if resp.content_length == 0:
return resp(environ, start_response)
if clientside and req.url not in self.known_html:
log.debug(self, '%s would have been a clientside check; in future will be since we know it is HTML'
% req.url)
self.known_titles[req.url] = self._get_title(resp.body)
self.known_html.add(req.url)
#jhb
orig_req.orig_response = resp
resp = rule_set.apply_rules(req, resp, resource_fetcher, log)
if clientside:
resp.decode_content()
resp.body = self._substitute_jsenable(resp.body)
resp = log.finish_request(req, resp)
return resp(environ, start_response)