configurable-http-proxy
This is a pure python implementation of the configurable-http-proxy written in nodejs. It is meant to be a drop in replacement.
Install
Prerequisite: Python 3.6+
pip install configurable-http-proxy
Feature support
The following items are supported:
- Proxying for Websocket and HTTP requests
- Configuring the proxy using API requests
- Auth token for API requests
- Error management using error_path and error_target
- Prepend path or include prefix
- Timeouts
- X-Forward related headers
- Custom Headers
- Customizable storage backends
- PID file writing
- Logging
- Configurable storage backend
The following options are additional (not available in nodejs CHP currently):
- Ready to use DBMS storage backend
The following options are not supported (yet):
- SSL for proxy, client, API is not available (
--ssl-*,--api-ssl-*,--client-ssl-*,--insecure) - Redirecting:
--redirect-portand--redirect-to - Change Origin:
--change-origin - Rewrites in Location header:
--protocol-rewriteand--auto-rewrite - Metrics server:
--metrics-portand--metrics-ip
Database-backed storage backend
Using a SQL DBMS instead of the default in-memory store enables chp to be replicated in a High Availability scenario.
To use a SQL DBMS as the storage backend:
- Install DBMS support
$ pip install configurable-http-proxy[sqla]
- Set the CHP_DATABASE_URL env var to any db URL supported by SQLAlchemy. The default is
sqlite:///chp.sqlite.
$ export CHP_DATABASE_URL="sqlite:///chp.sqlite"
$ configurable-http-proxy --storage-backend configurable_http_proxy.dbstore.DatabaseStore
- Optionally you may set the table name by setting the CHP_DATABASE_TABLE. The default is 'chp_routes'
$ export CHP_DATABASE_TABLE="chp_routes"
Metadata
Release files for configurable-http-proxy 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| configurable_http_proxy-0.4.0.tar.gz | 31.1 kB | Without provenance | Details for configurable_http_proxy-0.4.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| configurable_http_proxy-0.4.0-py3-none-any.whl | Python 3 | none | any | Details for configurable_http_proxy-0.4.0-py3-none-any.whl |
Total release size: 53.7 kB
Release files / configurable_http_proxy-0.4.0.tar.gz
| Download URL | configurable_http_proxy-0.4.0.tar.gz |
|---|---|
| Size | 31.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2823b5a0d980b3128c93cca22b20f575e591e46dc234c0c36d44062b15beb332
|
|
BLAKE2b-256 checksum How to use checksums |
a600b41492e1bb64dcc71ac2b35e54d35a72c348979517fa82bc1db6902dcfa7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / configurable_http_proxy-0.4.0-py3-none-any.whl
| Download URL | configurable_http_proxy-0.4.0-py3-none-any.whl |
|---|---|
| Size | 22.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f9c83a7d5a07df5b698b030a35b4a799986197ba5ad15869a7f368a3cd6cd643
|
|
BLAKE2b-256 checksum How to use checksums |
7a645508c5322b342a19fcf650b9e666cc97de2a436b7ca66f4ed6544b43fe1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Security for configurable-http-proxy 0.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.