django.py 文件源码

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

项目:salt-formula-maas 作者: salt-formulas 项目源码 文件源码
def parse_headers_and_body_with_mimer(headers, body):
    """Use piston's Mimer functionality to handle the content.

    :return: The value of 'request.data' after using Piston's translate_mime on
        the input.
    """
    # JAM 2012-10-09 Importing emitters has a side effect of registering mime
    #   type handlers with utils.translate_mime. So we must import it, even
    #   though we don't use it.  However, piston loads Django's QuerySet code
    #   which fails if you don't have a settings.py available. Which we don't
    #   during 'test.pserv'. So we import this late.
    from piston import emitters
    ignore_unused(emitters)
    from piston.utils import translate_mime

    environ = {'wsgi.input': BytesIO(body)}
    for name, value in headers.items():
        environ[name.upper().replace('-', '_')] = value
    environ['REQUEST_METHOD'] = 'POST'
    environ['SCRIPT_NAME'] = ''
    environ['PATH_INFO'] = ''
    # Django 1.6 needs DJANGO_SETTINGS_MODULE to be defined
    # when importing WSGIRequest.
    os.environ['DJANGO_SETTINGS_MODULE'] = 'maas.development'
    from django.core.handlers.wsgi import WSGIRequest
    request = WSGIRequest(environ)
    translate_mime(request)
    return request.data
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号