Xsl transforming reverse proxy based on twisted
Project description
Xsl transforming reverse proxy based on twisted and lxml
Installation
python3 -m pip install xslproxy
Usage
Usage: twist [options] plugin [plugin_options] xslproxy [options] Options: --backend= Url to backend, no trailing slash [default: http://localhost] --help Display this help and exit. --listen= Listen port (strports syntax) [default: tcp:8080] --path= [default: A directory with xsl files] --version Display Twisted version and exit.
Requests to one of the proxy endpoints will be forwarded to the backend. When a successful result is returned from the backend, content is transformed using the specified XSL stylesheets and sent to the client. The following proxy endpoints are available:
- /transform/{XSLPARAMS}
All stylesheets and parameters specified in XSLPARAMS are applied and to the backend response and the result is returned to the client with Content-Type header set to application/xml, text/html or text/plain according to the method specified in the <xsl:output> element of the last stylesheet in the chain.
The XSLPARAMS path segement takes the following key=value pairs. Each pair separated by the ampersand (&) character:
- xsl[]
Relative path to a stylesheet on the server (without .xsl or .xslt extension). This parameter can be specified multiple times.
- xa[stylesheet-key]
Stylesheet alias. Relative path to a stylesheet on the server (without .xsl or .xslt. This parameter is usefull if the same stylesheet should be applied multiple times with different parameters.
- xp[stylesheet-key][param-key]
XPath parameter with the name param-key for the stylesheet specified in stylesheet-key. The latter need to match one of the values specified via xsl[] parameter.
- sp[stylesheet-key][param-key]
String parameter with the name param-key for the stylesheet specified in stylesheet-key. The latter need to match one of the values specified via xsl[] parameter.
License
The software is subject to the AGPLv3 or later license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.