{ "info": { "author": "Maykin Media", "author_email": "support@maykinmedia.nl", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Django", "Framework :: Django :: 1.11", "Framework :: Django :: 2.0", "Framework :: Django :: 2.1", "Intended Audience :: Developers", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: Unix", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "\n\n.. nlx_middleware documentation master file, created by startproject.\n You can adapt this file completely to your liking, but it should at least\n contain the root `toctree` directive.\n\nWelcome to nlx_middleware's documentation!\n=================================================\n\n:Version: 0.1.0\n:Source: https://github.com/maykinmedia/nlx_middleware\n:Keywords: ````\n:PythonVersion: 3.6\n\n|build-status| |requirements| |coverage|\n\n|python-versions| |django-versions| |pypi-version|\n\nA Django middleware to integrate your service with `NLx`_.\n\nThis middleware takes care of rewriting URLs in the linked-data responses if\nyou're operating in the NLx network. This makes it possible to use the\nNLx-outway URLs everywhere, while still saving/linking data against their\ncanonical URLs.\n\n.. contents::\n\n.. section-numbering::\n\nFeatures\n========\n\n* Rewriting of NLx outway URLs in the request body to canonical URLs\n* Rewriting of canonical URLs in the response body to NLx outway URLs\n* Rewrites URLs in GET query params\n* Leverages the OpenAPI schema to figure out what needs rewriting\n\nTODO:\n-----\n\n* Set up registry of external services to rewrite as well\n* Support OAS 3.0 (via ``gemma-zds-client``)\n\nInstallation\n============\n\nRequirements\n------------\n\n* Python 3.6 or above\n* setuptools 30.3.0 or above\n* Django 1.11 or above\n* django-rest-framework\n* the API schema must be available at ``{API_ROOT}/schema/openapi.yaml``\n (currently Swagger 2.0 is supported)\n* ``gemma-zds-common`` (recommended)\n\n\nInstall\n-------\n\n.. code-block:: bash\n\n pip install nlx-middleware\n\n\nUsage\n=====\n\nAdd the middleware to you ``MIDDLEWARE`` setting:\n\n.. code-block:: python\n\n MIDDLEWARE = [\n 'django.middleware.security.SecurityMiddleware',\n ...\n 'nlx_middleware.middleware.NLxInwayURLRewriteMiddleware',\n ]\n\nWe recommend to put it as close to the end as possible. Review the Django\nmiddleware documentation to see why the order matters.\n\nOptionally, but recommended, add ``nlx_middleware`` to your ``INSTALLED_APPS``.\nThis makes models available where you can map external services to their\ncanonical domains/addresses so that URLs not provided/served by your own\nproject can also be rewritten.\n\nIf you don't need this, then there's (currently) no need to add it to your\n``INSTALLED_APPS``.\n\nNext, ensure the following settings are defined:\n\n.. code-block:: python\n\n NLX_SERVICE = os.getenv('NLX_SERVICE', 'zrc')\n NLX_INWAY_ADDRESS = os.getenv('NLX_ADDRESS', 'localhost:8000')\n NLX_ORGANIZATION = os.getenv('NLX_ORGANIZATION', 'vng-realisatie')\n NLX_OUTWAY_ADDRESS = os.getenv('NLX_OUTWAY_ADDRESS', 'http://localhost:2018')\n\n.. note::\n In the example, we pull them from the environment, but you can of course\n follow your own preferred method.\n\n\n.. |build-status| image:: https://travis-ci.org/maykinmedia/nlx_middleware.svg?branch=develop\n :target: https://travis-ci.org/maykinmedia/nlx_middleware\n\n.. |requirements| image:: https://requires.io/github/maykinmedia/nlx_middleware/requirements.svg?branch=develop\n :target: https://requires.io/github/maykinmedia/nlx_middleware/requirements/?branch=develop\n :alt: Requirements status\n\n.. |coverage| image:: https://codecov.io/gh/maykinmedia/nlx_middleware/branch/develop/graph/badge.svg\n :target: https://codecov.io/gh/maykinmedia/nlx_middleware\n :alt: Coverage status\n\n.. |python-versions| image:: https://img.shields.io/pypi/pyversions/nlx_middleware.svg\n\n.. |django-versions| image:: https://img.shields.io/pypi/djversions/nlx_middleware.svg\n\n.. |pypi-version| image:: https://img.shields.io/pypi/v/nlx_middleware.svg\n :target: https://pypi.org/project/nlx_middleware/\n\n\n.. _NLx: https://nlx.io\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/maykinmedia/nlx_middleware", "keywords": "TODO", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "nlx-middleware", "package_url": "https://pypi.org/project/nlx-middleware/", "platform": "", "project_url": "https://pypi.org/project/nlx-middleware/", "project_urls": { "Homepage": "https://github.com/maykinmedia/nlx_middleware" }, "release_url": "https://pypi.org/project/nlx-middleware/0.2.0/", "requires_dist": [ "django", "django-app-settings", "gemma-zds-client (>=0.4.1)", "pytest-cov; extra == 'coverage'", "sphinx; extra == 'docs'", "sphinx-rtd-theme; extra == 'docs'", "flake8; extra == 'pep8'", "zest.releaser; extra == 'release'", "pytest; extra == 'tests'", "pytest-django; extra == 'tests'", "tox; extra == 'tests'", "isort; extra == 'tests'" ], "requires_python": "", "summary": "TODO", "version": "0.2.0" }, "last_serial": 4406207, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "b7bf5f3bcd29c1adb45d44bac79179b4", "sha256": "5825efe74b75ff04d6860736684ece71b5581234e837051232d64d5ce8d846ea" }, "downloads": -1, "filename": "nlx_middleware-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b7bf5f3bcd29c1adb45d44bac79179b4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7344, "upload_time": "2018-09-25T14:13:03", "url": "https://files.pythonhosted.org/packages/97/38/3e30db9d2ec9b85f86ae665542ea474fbe82a33d8080611d8456b939bcfc/nlx_middleware-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9fc79082e45ed639f1ed73492bde394f", "sha256": "d915f882198d88a815bfb3c3f354629ddb01d7ca91ba203daf21b8eb2c5e9bdd" }, "downloads": -1, "filename": "nlx-middleware-0.1.tar.gz", "has_sig": false, "md5_digest": "9fc79082e45ed639f1ed73492bde394f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8087, "upload_time": "2018-09-25T14:13:05", "url": "https://files.pythonhosted.org/packages/77/8e/e7dd5f4bc0d0eb7ce008b748e937b878af7c743e382b13c03f32ba666cb1/nlx-middleware-0.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "d66dfabdc4559593dfe0d527484f099b", "sha256": "471877a063877af822bf9553a79f3d66e9247f110e942c68157e1a568cb15e66" }, "downloads": -1, "filename": "nlx_middleware-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d66dfabdc4559593dfe0d527484f099b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11151, "upload_time": "2018-09-26T12:19:15", "url": "https://files.pythonhosted.org/packages/89/f3/0e6db0c4ca5e89f9f03f18449b40f3fa2f04bb71f52fff7d7b8dcbda7498/nlx_middleware-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a540d48fb32a220a6f511f1b686089e", "sha256": "b15eba726a25518a1def8983f3d7c30b7e8fa355ca45c9998ab2a9647eb76cdf" }, "downloads": -1, "filename": "nlx-middleware-0.2.0.tar.gz", "has_sig": false, "md5_digest": "1a540d48fb32a220a6f511f1b686089e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10407, "upload_time": "2018-09-26T12:19:17", "url": "https://files.pythonhosted.org/packages/6b/56/c3bcd486372774f72b63ca231fc5cc58b65c9be6172b3d2a2e7936ea16a7/nlx-middleware-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d66dfabdc4559593dfe0d527484f099b", "sha256": "471877a063877af822bf9553a79f3d66e9247f110e942c68157e1a568cb15e66" }, "downloads": -1, "filename": "nlx_middleware-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d66dfabdc4559593dfe0d527484f099b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11151, "upload_time": "2018-09-26T12:19:15", "url": "https://files.pythonhosted.org/packages/89/f3/0e6db0c4ca5e89f9f03f18449b40f3fa2f04bb71f52fff7d7b8dcbda7498/nlx_middleware-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a540d48fb32a220a6f511f1b686089e", "sha256": "b15eba726a25518a1def8983f3d7c30b7e8fa355ca45c9998ab2a9647eb76cdf" }, "downloads": -1, "filename": "nlx-middleware-0.2.0.tar.gz", "has_sig": false, "md5_digest": "1a540d48fb32a220a6f511f1b686089e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10407, "upload_time": "2018-09-26T12:19:17", "url": "https://files.pythonhosted.org/packages/6b/56/c3bcd486372774f72b63ca231fc5cc58b65c9be6172b3d2a2e7936ea16a7/nlx-middleware-0.2.0.tar.gz" } ] }