Welcome to WSGIProxy2’s documentation!¶
$ pip install WSGIProxy2
Install optionnal backends:
$ pip install requests restkit urllib3
Create a proxy:
>>> from wsgiproxy import HostProxy >>> proxy = HostProxy(application_url)
Then use it. Here is an example with WebOb but you can use it like a classic WSGI application:
>>> from webob import Request >>> req = Request.blank('/form.html') >>> resp = req.get_response(proxy) >>> print(resp.text) <html>... ...</html>
The Proxy application accept some keyword arguments. Those arguments are passed to the client during the process.
If no client as specified then python httplib is used. It’s recommended to use a more robust client able to manage a connection pool and stuff.
>>> proxy = HostProxy(application_url, client='urllib3')
Use requests. This client support response streaming:
>>> proxy = HostProxy(application_url, client='requests')
Use restkit. This client support request and response streaming but does not support python3 (will be fixed with the next release):
>>> proxy = HostProxy(application_url, client='restkit')
- Nothing changed yet.
- Undo webob’s unquoting to handle paths with percent quoted utf8 characters [Laurence Rowe]
- Include README_fixt.py in release
- fix tests.
- change the way requests iter response
Make allowed_methods check optional
Return the data not gzip decoded when using request