Skip to main content

A WSGI Proxy with various http client backends

Project description

Installation

With pip:

$ pip install WSGIProxy2

Install optionnal backends:

$ pip install requests restkit urllib3

Usage

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.

Use urllib3:

>>> 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') # doctest: +SKIP

Changes

0.4.4 (2017-06-02)

  • Clean up connection before returning result. This removes some ResourceWarnings when testing

0.4.3 (2017-02-17)

  • Add OPTIONS to defaults allowed methods
  • Drop restkit support
  • Drop py26 support

0.4.2 (2014-12-20)

  • Undo webob’s unquoting to handle paths with percent quoted utf8 characters [Laurence Rowe]

0.4.1 (2013-12-21)

  • Include README_fixt.py in release

0.4 (2013-12-21)

  • fix tests.
  • change the way requests iter response

0.3 (2013-09-12)

Make allowed_methods check optional

0.2

Return the data not gzip decoded when using request

0.1

Initial release

Project details


Release history Release notifications

This version
History Node

0.4.4

History Node

0.4.3

History Node

0.4.2

History Node

0.4.1

History Node

0.4

History Node

0.3

History Node

0.2

History Node

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
WSGIProxy2-0.4.4-py3-none-any.whl (10.2 kB) Copy SHA256 hash SHA256 Wheel py3 Jun 2, 2017
WSGIProxy2-0.4.4.tar.gz (16.5 kB) Copy SHA256 hash SHA256 Source None Jun 2, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page