不使用套接字将请求库连接到wsgi应用程序。
pyriform的Python项目详细描述
将Requests和WebTest库链接在一起,pyriform允许您使用requests库与您的wsgi应用程序交互,而无需让它在网络上运行;它将这两个web组件绑定在一起。
它对测试很有用,处理所有标准http方法(以及自定义方法),支持请求超时。python 2和3都兼容。
示例用法
下面是一个小型wsgi应用程序的示例(在本例中,使用CherryPy),以及如何使用pyriform连接到它:
>>> # Create the WSGI app. >>> >>> import cherrypy >>> >>> class SayHello(object): ... ... @cherrypy.expose ... def default(self, word): ... return "Hello %s from %s!" % (word, cherrypy.request.headers['X-Location']) ... >>> cherrypy.config.update({'environment': 'embedded'}) # Suppress logging output. >>> app = cherrypy.tree.mount(SayHello(), '/') >>> >>> # Now use Pyriform to map requests from a particular URL to this app. >>> >>> import pyriform >>> import requests >>> adapter = pyriform.WSGIAdapter(app) >>> session = requests.Session() >>> session.mount('http://helloapp/', adapter) >>> resp = session.get('http://helloapp/World', headers={'X-Location': 'London'}) >>> print (resp.text) Hello World from London!
您可以在项目repository中浏览源代码和文件错误报告。完整的文档可以找到here。