webapp2.py 文件源码

python
阅读 31 收藏 0 点赞 0 评论 0

项目:webapp2 作者: GoogleCloudPlatform 项目源码 文件源码
def blank(cls, path, environ=None, base_url=None,
              headers=None, **kwargs):  # pragma: no cover
        """Adds parameters compatible with WebOb > 1.2: POST and **kwargs."""
        try:
            request = super(Request, cls).blank(
                path,
                environ=environ,
                base_url=base_url,
                headers=headers,
                **kwargs
            )

            if cls._request_charset and not cls._request_charset == 'utf-8':
                return request.decode(cls._request_charset)
            return request

        except TypeError:
            if not kwargs:
                raise

        data = kwargs.pop('POST', None)
        if data is not None:
            environ = environ or {}
            environ['REQUEST_METHOD'] = 'POST'
            if hasattr(data, 'items'):
                data = list(data.items())
            if not isinstance(data, str):
                data = urlencode(data)
            environ['wsgi.input'] = cStringIO(data)
            environ['webob.is_body_seekable'] = True
            environ['CONTENT_LENGTH'] = str(len(data))
            environ['CONTENT_TYPE'] = 'application/x-www-form-urlencoded'

        base = super(Request, cls).blank(path, environ=environ,
                                         base_url=base_url, headers=headers)
        if kwargs:
            obj = cls(base.environ, **kwargs)
            obj.headers.update(base.headers)
            return obj
        else:
            return base
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号