• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python _internal._get_environ函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中werkzeug._internal._get_environ函数的典型用法代码示例。如果您正苦于以下问题:Python _get_environ函数的具体用法?Python _get_environ怎么用?Python _get_environ使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: run_wsgi_app

def run_wsgi_app(app, environ, buffered = False):
    environ = _get_environ(environ)
    response = []
    buffer = []

    def start_response(status, headers, exc_info = None):
        if exc_info is not None:
            raise exc_info[0], exc_info[1], exc_info[2]
        response[:] = [status, headers]
        return buffer.append

    app_iter = app(environ, start_response)
    if buffered:
        close_func = getattr(app_iter, 'close', None)
        try:
            app_iter = list(app_iter)
        finally:
            if close_func is not None:
                close_func()

    else:
        while not response:
            buffer.append(app_iter.next())

        if buffer:
            close_func = getattr(app_iter, 'close', None)
            app_iter = chain(buffer, app_iter)
            if close_func is not None:
                app_iter = ClosingIterator(app_iter, close_func)
    return (app_iter, response[0], response[1])
开发者ID:connoryang,项目名称:dec-eve-serenity,代码行数:30,代码来源:test.py


示例2: bind_to_environ

 def bind_to_environ(self, environ, server_name=None, subdomain=None):
     environ = _get_environ(environ)
     if server_name is None:
         if "HTTP_HOST" in environ:
             server_name = environ["HTTP_HOST"]
         else:
             server_name = environ["SERVER_NAME"]
             if (environ["wsgi.url_scheme"], environ["SERVER_PORT"]) not in (("https", "443"), ("http", "80")):
                 server_name += ":" + environ["SERVER_PORT"]
     elif subdomain is None:
         wsgi_server_name = environ.get("HTTP_HOST", environ["SERVER_NAME"])
         cur_server_name = wsgi_server_name.split(":", 1)[0].split(".")
         real_server_name = server_name.split(":", 1)[0].split(".")
         offset = -len(real_server_name)
         if cur_server_name[offset:] != real_server_name:
             raise ValueError(
                 "the server name provided (%r) does not match the server name from the WSGI environment (%r)"
                 % (server_name, wsgi_server_name)
             )
         subdomain = ".".join(filter(None, cur_server_name[:offset]))
     return Map.bind(
         self,
         server_name,
         environ.get("SCRIPT_NAME"),
         subdomain,
         environ["wsgi.url_scheme"],
         environ["REQUEST_METHOD"],
         environ.get("PATH_INFO"),
     )
开发者ID:Reve,项目名称:eve,代码行数:29,代码来源:routing.py


示例3: make_conditional

 def make_conditional(self, request_or_environ):
     environ = _get_environ(request_or_environ)
     if environ['REQUEST_METHOD'] in ('GET', 'HEAD'):
         self.headers['Date'] = http_date()
         if 'content-length' in self.headers:
             self.headers['Content-Length'] = len(self.data)
         if not is_resource_modified(environ, self.headers.get('etag'), None, self.headers.get('last-modified')):
             self.status_code = 304
     return self
开发者ID:connoryang,项目名称:dec-eve-serenity,代码行数:9,代码来源:wrappers.py


示例4: run_wsgi_app

def run_wsgi_app(app, environ, buffered=False):
    """Return a tuple in the form (app_iter, status, headers) of the
    application output.  This works best if you pass it an application that
    returns an iterator all the time.

    Sometimes applications may use the `write()` callable returned
    by the `start_response` function.  This tries to resolve such edge
    cases automatically.  But if you don't get the expected output you
    should set `buffered` to `True` which enforces buffering.

    If passed an invalid WSGI application the behavior of this function is
    undefined.  Never pass non-conforming WSGI applications to this function.

    :param app: the application to execute.
    :param buffered: set to `True` to enforce buffering.
    :return: tuple in the form ``(app_iter, status, headers)``
    """
    environ = _get_environ(environ)
    response = []
    buffer = []

    def start_response(status, headers, exc_info=None):
        if exc_info is not None:
            reraise(*exc_info)
        response[:] = [status, headers]
        return buffer.append

    app_rv = app(environ, start_response)
    close_func = getattr(app_rv, 'close', None)
    app_iter = iter(app_rv)

    # when buffering we emit the close call early and convert the
    # application iterator into a regular list
    if buffered:
        try:
            app_iter = list(app_iter)
        finally:
            if close_func is not None:
                close_func()

    # otherwise we iterate the application iter until we have a response, chain
    # the already received data with the already collected data and wrap it in
    # a new `ClosingIterator` if we need to restore a `close` callable from the
    # original return value.
    else:
        for item in app_iter:
            buffer.append(item)
            if response:
                break
        if buffer:
            app_iter = chain(buffer, app_iter)
        if close_func is not None and app_iter is not app_rv:
            app_iter = ClosingIterator(app_iter, close_func)

    return app_iter, response[0], Headers(response[1])
开发者ID:brunoais,项目名称:werkzeug,代码行数:55,代码来源:test.py


示例5: run_wsgi_app

def run_wsgi_app(app, environ, buffered=False):
    """返回一个应用输出的元组形式 (app_iter, status, headers)。如果你通过应用
    返回一个迭代器他将会工作的更好。

    有时应用可以使用 `start_ewsponse` 返回的 `write()` 回调函数。这将会自动解
    决边界情况。如果没有得到预期输出,你应该将 `buffered` 设为 `True` 执行
    buffering

    如果传入一个错误的应用,这个函数将会是未定义的。不要给这个函数传入一个不标准
    的 WSGI 应用。

    :param app: 要执行的应用。
    :param buffered: 设为 `True` 来执行 buffering.
    :return: 元组形式 ``(app_iter, status, headers)``
    """
    environ = _get_environ(environ)
    response = []
    buffer = []

    def start_response(status, headers, exc_info=None):
        if exc_info is not None:
            reraise(*exc_info)
        response[:] = [status, headers]
        return buffer.append

    app_iter = app(environ, start_response)

    # when buffering we emit the close call early and convert the
    # application iterator into a regular list
    if buffered:
        close_func = getattr(app_iter, "close", None)
        try:
            app_iter = list(app_iter)
        finally:
            if close_func is not None:
                close_func()

    # otherwise we iterate the application iter until we have
    # a response, chain the already received data with the already
    # collected data and wrap it in a new `ClosingIterator` if
    # we have a close callable.
    else:
        while not response:
            buffer.append(next(app_iter))
        if buffer:
            close_func = getattr(app_iter, "close", None)
            app_iter = chain(buffer, app_iter)
            if close_func is not None:
                app_iter = ClosingIterator(app_iter, close_func)

    return app_iter, response[0], Headers(response[1])
开发者ID:forwhat,项目名称:Werkzeug-docs-cn,代码行数:51,代码来源:tests.py


示例6: get_response

    def get_response(self, environ):
        """Get a response object.

        :param environ: the environ for the request.
        :return: a :class:`BaseResponse` object or a subclass thereof.
        """
        # lazily imported for various reasons.  For one, we can use the exceptions
        # with custom responses (testing exception instances against types) and
        # so we don't ever have to import the wrappers, but also because there
        # are circular dependencies when bootstrapping the module.
        environ = _get_environ(environ)
        from werkzeug.wrappers import BaseResponse
        headers = self.get_headers(environ)
        return BaseResponse(self.get_body(environ), self.code, headers)
开发者ID:ArturSoler,项目名称:werkzeug,代码行数:14,代码来源:exceptions.py


示例7: get_response

    def get_response(self, environ=None):
        """Get a response object.  If one was passed to the exception
        it's returned directly.

        :param environ: the optional environ for the request.  This
                        can be used to modify the response depending
                        on how the request looked like.
        :return: a :class:`Response` object or a subclass thereof.
        """
        if self.response is not None:
            return self.response
        if environ is not None:
            environ = _get_environ(environ)
        headers = self.get_headers(environ)
        return Response(self.get_body(environ), self.code, headers)
开发者ID:DaTrollMon,项目名称:werkzeug,代码行数:15,代码来源:exceptions.py


示例8: bind_to_environ

 def bind_to_environ(self, environ, server_name = None, subdomain = None):
     environ = _get_environ(environ)
     if server_name is None:
         if 'HTTP_HOST' in environ:
             server_name = environ['HTTP_HOST']
         else:
             server_name = environ['SERVER_NAME']
             if (environ['wsgi.url_scheme'], environ['SERVER_PORT']) not in (('https', '443'), ('http', '80')):
                 server_name += ':' + environ['SERVER_PORT']
     elif subdomain is None:
         wsgi_server_name = environ.get('HTTP_HOST', environ['SERVER_NAME'])
         cur_server_name = wsgi_server_name.split(':', 1)[0].split('.')
         real_server_name = server_name.split(':', 1)[0].split('.')
         offset = -len(real_server_name)
         if cur_server_name[offset:] != real_server_name:
             raise ValueError('the server name provided (%r) does not match the server name from the WSGI environment (%r)' % (server_name, wsgi_server_name))
         subdomain = '.'.join(filter(None, cur_server_name[:offset]))
     return Map.bind(self, server_name, environ.get('SCRIPT_NAME'), subdomain, environ['wsgi.url_scheme'], environ['REQUEST_METHOD'], environ.get('PATH_INFO'))
开发者ID:connoryang,项目名称:dec-eve-serenity,代码行数:18,代码来源:routing.py


示例9: get_response

 def get_response(self, environ):
     environ = _get_environ(environ) #UGH!
     headers = self.rewritten_headers(environ)
     return BaseResponse(self.get_body(environ), self.code, headers)
开发者ID:bgnori,项目名称:backgammon-position-image-server,代码行数:4,代码来源:imageexceptions.py


示例10: get_description

 def get_description(self, environ):
     """Get the description."""
     environ = _get_environ(environ)
     return self.description
开发者ID:ArturSoler,项目名称:werkzeug,代码行数:4,代码来源:exceptions.py


示例11: get_description

 def get_description(self, environ):
     """Get the description."""
     environ = _get_environ(environ)
     return '<p>%s</p>' % escape(self.description)
开发者ID:Chitrank-Dixit,项目名称:werkzeug,代码行数:4,代码来源:exceptions.py


示例12: get_response

 def get_response(self, environ):
     environ = _get_environ(environ)
     from werkzeug.wrappers import BaseResponse
     headers = self.get_headers(environ)
     return BaseResponse(self.get_body(environ), self.code, headers)
开发者ID:connoryang,项目名称:dec-eve-serenity,代码行数:5,代码来源:exceptions.py


示例13: get_description

 def get_description(self, environ):
     environ = _get_environ(environ)
     return self.description
开发者ID:connoryang,项目名称:dec-eve-serenity,代码行数:3,代码来源:exceptions.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python _internal._log函数代码示例发布时间:2022-05-26
下一篇:
Python _internal._decode_unicode函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap