WSGI Helper WSGI 帮助器
原文链接(http://werkzeug.pocoo.org/docs/0.12/wsgi/)
为了方便在WSGI层的一些操作,WSGI提供了以下的一些类和函数。这个模块的所有功能都可以
应用到高层次抽象的Request/Response 类.
所有的帮助类和函数都位于模块werkzeug.wsgi中。
(werkzeug.wsgi 模块的代码结构图)
Iterator / Stream Helpers 迭代器/流 帮助器
以下的类和函数有助于简化WSGI应用的迭代器和输入流处理。
class ClosingIterator #关闭迭代器
class FileWrapper #将文件对象转换为可以迭代的对象
class LimitedStream #限制输入流的大小。
Environ Helpers
这些函数可以从WSGI环境中提取特定
get_host() #获取主机信息
get_content_length() #获取content的长度
get_input_stream() #获取输入流
get_current_url() #获取当前的URL信息
还有许多其他辅助函数,不一一例举
ex:
from werkzeug.test import create_environ
env = create_environ("/?param=foo", "http://localhost/script") #创建一个environ环境
from werkzeug.wsgi import *
get_host(env)
Out[5]: 'localhost'
get_content_length(env)
Out[7]: 0
get_input_stream(env)
Out[8]: <werkzeug.wsgi.LimitedStream at 0x5e741d0>
get_current_url(env)
Out[9]: 'http://localhost/script/?param=foo'
get_query_string(env)
Out[10]: 'param=foo'
Convenience Helpers
responder(f)
响应器函数。带有responder装饰器的函数会作为WSGI应用被调用,
并将返回值返回给浏览器。
ex:
from werkzeug.wrappers import Response
from werkzeug.wsgi import responder
@responder
def application(environ, start_response):
return Response('Hello World!')
if __name__ == '__main__':
from werkzeug.serving import run_simple
run_simple('localhost', 4000, application)
werkzeug.testapp.test_app(environ, start_response)
收集当前软件环境的测试应用,可以用来检测Werkzeug
是否工作在正常的状态下:
>>> from werkzeug.serving import run_simple
>>> from werkzeug.testapp import test_app
>>> run_simple('localhost', 3000, test_app)
* Running on http://localhost:3000/
这个应用会显示WSGI的环境信息以及Python的解释器和安装的库函数信息。
(运行结果图)