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.

Project details


Download files

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

Source Distribution

device-proxy-0.4.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

device_proxy-0.4-py2.7.egg (56.3 kB view details)

Uploaded Source

File details

Details for the file device-proxy-0.4.tar.gz.

File metadata

  • Download URL: device-proxy-0.4.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for device-proxy-0.4.tar.gz
Algorithm Hash digest
SHA256 367f401c41746ad481dd87f5682f5c946386a0201412117c81b8741de1bdb118
MD5 603d057f02306304b5def0c455f689e3
BLAKE2b-256 72227910ef1868ce67988c2fbc41d9d797bc42adbbc3898976dcb12527e48fce

See more details on using hashes here.

File details

Details for the file device_proxy-0.4-py2.7.egg.

File metadata

File hashes

Hashes for device_proxy-0.4-py2.7.egg
Algorithm Hash digest
SHA256 3ec19a38371d7ad2774a2cc2a26824c6de03af94cbfeb8ea795482610c96557c
MD5 511e90624242ebed3c14bdd96348ddf0
BLAKE2b-256 c0982573802fbb22b1f29805fa1acce134b0b60950328c935bb15d6ef93bceeb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page