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


Python Request.copy方法代码示例

本文整理汇总了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)
开发者ID:desarrollo1,项目名称:tg2env,代码行数:23,代码来源:resources.py

示例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)
开发者ID:faassen,项目名称:webobtoolkit,代码行数:7,代码来源:filters.py

示例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)
开发者ID:malthe,项目名称:Deliverance,代码行数:78,代码来源:middleware.py


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