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


Python Request.location方法代码示例

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


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

示例1: app

# 需要导入模块: from request import Request [as 别名]
# 或者: from request.Request import location [as 别名]
    def app(self, env, *args):
        start_response = args[0]
        req = Request(self, env)

        try:
            for hook in hooks._global_class_hooks:
                handler = getattr(hook, "setup", None)
                if None != handler:
                    handler(req)

            for hook in hooks._global_setup_hooks:
                hook(req)

            for hook in self._setup_hooks:
                hook(req)

            for loc in self._locations:
                matches = loc._regex.match(req.uri)
                if None != matches:
                    handler = getattr(loc._instance, req.method, None)
                    if None == handler and 'HEAD' == req.method:
                        handler = getattr(loc._instance, 'GET', None)
                    if None == handler:
                        raise badmethod

                    req.location = loc
                    req._body = handler(req, *list(matches.groups()))
                    break

        except Exception as e:
            self._handle_exception(req, e)

        # Should all hooks always be called?
        try:
            for hook in self._cleanup_hooks:
                hook(req)

            for hook in hooks._global_cleanup_hooks:
                hook(req)

            for hook in hooks._global_class_hooks:
                handler = getattr(hook, "cleanup", None)
                if None != handler:
                    handler(req)

        except Exception as e:
            self._handle_exception(req, e)

        status_line = "%d %s" % (req.status, getattr(req, 'status_text',
            defaults.status_text.get(req.status, 'Unknown')))

        if 'HEAD' == req.method:
            req.headers['Content-Length'] = 0
            req._body = ''
        elif req.status >= 400 and len(req._body) == 0:
            req._body = '<html><head><title>%s</title></head><body><center><h1>%s</h1></center></body></html>' % \
                (status_line, status_line)

        headers_out = req.headers.items()
        headers_out.extend([ \
                tuple([ h.strip() for h in c.output().split(':', 1) ]) \
                for c in req._cookies_out.values() ])

        start_response(status_line, headers_out)

        return req._body
开发者ID:jakebarnwell,项目名称:PythonGenerator,代码行数:68,代码来源:app.py


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