Skip to main content

Device Proxy. A reverse HTTP Proxy that can inspect and manipulate HTTP Headers before sending upstream.

Project description

Inspects incoming HTTP requests adds some HTTP headers and proxies upstream. Has ability to add extra cookies for HTTP responses being sent back to the client.

travis coveralls

Installation

$ pip install device-proxy

Running

Run with twistd:

$ twistd -n devproxy --config config.yaml

Configuration

This is what the processing chain looks like:

       +------------------+
       |                  |
       |           Header & Cookie set
       v                  |
(1) HAProxy -> (2) *n* DeviceProxies
       |
      (3)
       | (if Cookie or Header set)
       +--------------------------------> (4) *n* Backend Apps
  1. Haproxy receives incoming traffic from Nginx
  2. Request is passed to n number of Device Proxies running. HTTP headers are inserted (possibly from cached WURFL or OpenDDR lookups). Device Proxy has the option of inserting Cookies into the HTTP response which can cache the Device Lookup (for subsequent requests HAProxy (1) could use these cookie values to skip DeviceProxy completely for the lifetime of the Cookie.) DeviceProxy reverse proxies back to HAProxy with HTTP headers inserted.
  3. HAProxy inspects the HTTP headers & cookies received and selects appropriate backend application for the request. HAProxy can have a default fallback backend. If the Cookie is already set then the DeviceProxies are skipped.
  4. The Backend application renders the request with a template set suitable for the given HTTP request.

Note

By default DeviceProxy only caches the lookup in Memcache, not in the Cookie.

Project details


Release history Release notifications

This version
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.1c

History Node

0.1b

History Node

0.1j

History Node

0.1i

History Node

0.1h

History Node

0.1g

History Node

0.1f

History Node

0.1e

History Node

0.1d

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
device_proxy-0.4.3-py2.7.egg (57.6 kB) Copy SHA256 hash SHA256 Egg 2.7 Jun 23, 2015
device-proxy-0.4.3.tar.gz (17.6 kB) Copy SHA256 hash SHA256 Source None Jun 23, 2015

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