{"id":16994619,"url":"https://github.com/znerol/xslproxy","last_synced_at":"2025-06-20T16:13:46.623Z","repository":{"id":44589567,"uuid":"315333018","full_name":"znerol/xslproxy","owner":"znerol","description":"Xsl transforming reverse proxy based on twisted","archived":false,"fork":false,"pushed_at":"2022-02-06T13:43:03.000Z","size":38,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-29T01:38:10.583Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/znerol.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-23T14:00:56.000Z","updated_at":"2021-12-04T14:39:54.000Z","dependencies_parsed_at":"2022-09-21T19:40:52.444Z","dependency_job_id":null,"html_url":"https://github.com/znerol/xslproxy","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/znerol/xslproxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/znerol%2Fxslproxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/znerol%2Fxslproxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/znerol%2Fxslproxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/znerol%2Fxslproxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/znerol","download_url":"https://codeload.github.com/znerol/xslproxy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/znerol%2Fxslproxy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260976919,"owners_count":23091527,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T03:46:05.325Z","updated_at":"2025-06-20T16:13:41.542Z","avatar_url":"https://github.com/znerol.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"XSL Proxy\n=========\n\n.. image:: https://travis-ci.com/znerol/xslproxy.svg?branch=master\n    :target: https://travis-ci.com/znerol/xslproxy\n\n\nXsl transforming reverse proxy based on twisted_ and lxml_\n\n.. _twisted: https://twistedmatrix.com/\n.. _lxml: https://lxml.de/\n\n\nInstallation\n------------\n\n::\n\n   python3 -m pip install xslproxy\n\n\nUsage\n-----\n\n::\n\n   Usage: twist [options] plugin [plugin_options] xslproxy [options]\n   Options:\n         --backend=  Url to backend, no trailing slash [default: http://localhost]\n         --help      Display this help and exit.\n         --listen=   Listen port (strports syntax) [default: tcp:8080]\n         --path=      [default: A directory with xsl files]\n         --version   Display Twisted version and exit.\n\n\nRequests to one of the proxy endpoints will be forwarded to the backend. When a\nsuccessful result is returned from the backend, content is transformed using\nthe specified XSL stylesheets and sent to the client. The following proxy\nendpoints are available:\n\n/transform/{XSLPARAMS}\n  All stylesheets and parameters specified in XSLPARAMS are applied and to the\n  backend response and the result is returned to the client with\n  ``Content-Type`` header set to ``application/xml``, ``text/html`` or\n  ``text/plain`` according to the ``method`` specified in the ``\u003cxsl:output\u003e``\n  element of the last stylesheet in the chain.\n\nThe ``XSLPARAMS`` path segement takes the following ``key=value`` pairs. Each\npair separated by the ampersand (``\u0026``) character:\n\nxsl[]\n  Relative path to a stylesheet on the server (without ``.xsl`` or ``.xslt``\n  extension). This parameter can be specified multiple times.\nxa[stylesheet-key]\n  Stylesheet alias. Relative path to a stylesheet on the server (without\n  ``.xsl`` or ``.xslt``. This parameter is usefull if the same stylesheet should\n  be applied multiple times with different parameters.\nxp[stylesheet-key][param-key]\n  XPath parameter with the name ``param-key`` for the stylesheet specified in\n  ``stylesheet-key``. The latter need to match one of the values specified via\n  ``xsl[]`` parameter.\nsp[stylesheet-key][param-key]\n  String parameter with the name ``param-key`` for the stylesheet specified in\n  ``stylesheet-key``. The latter need to match one of the values specified via\n  ``xsl[]`` parameter.\n\n\nLicense\n-------\n\nThe software is subject to the AGPLv3_ or later license.\n\n.. _AGPLv3: https://www.gnu.org/licenses/agpl-3.0.en.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fznerol%2Fxslproxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fznerol%2Fxslproxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fznerol%2Fxslproxy/lists"}