本文整理汇总了Python中webob.Request.copy方法的典型用法代码示例。如果您正苦于以下问题:Python Request.copy方法的具体用法?Python Request.copy怎么用?Python Request.copy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类webob.Request
的用法示例。
在下文中一共展示了Request.copy方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __call__
# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import copy [as 别名]
def __call__(self, environ, start_response):
req = Request(environ)
path_info = req.path_info
if path_info.startswith("/__callback__"):
path_info = path_info[1:]
if path_info in self.CALLBACK_REGISTRY:
callback = self.CALLBACK_REGISTRY[path_info]
req.make_body_seekable()
auth_req = req.copy()
auth_response = callback.authorization(callback, auth_req)
if "200" in auth_response.status:
req.body_file.seek(0)
return callback(req)(environ, start_response)
else:
req.body_file.seek(0)
return auth_response(environ, start_response)
return Response(status="404 Not Found")(environ, start_response)
else:
resp = self.serve_file(req)
resp = resp or Response(status="404 Not Found")
return resp(environ, start_response)
示例2: m
# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import copy [as 别名]
def m(environ, start_response):
request = Request(environ)
response = request.get_response(app)
assert_(request.copy(), response.copy())
return response(environ, start_response)
示例3: __call__
# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import copy [as 别名]
def __call__(self, environ, start_response):
req = Request(environ)
if self.notheme_request(req):
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, retry_inner_if_not_200=False):
"""
Return the Response object for the given URL
"""
return self.get_resource(url, orig_req, log, retry_inner_if_not_200)
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')
head_response = None
if req.method == "HEAD":
# We need to copy the request instead of reusing it,
# in case the downstream app modifies req.environ in-place
head_req = req.copy()
head_response = head_req.get_response(self.app)
req.method = "GET"
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 resp.body == '':
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)
resp = rule_set.apply_rules(req, resp, resource_fetcher, log,
default_theme=self.default_theme(environ))
if clientside:
resp.decode_content()
resp.body = self._substitute_jsenable(resp.body)
resp = log.finish_request(req, resp)
if head_response:
head_response.headers = resp.headers
resp = head_response
return resp(environ, start_response)