Metadata-Version: 2.1
Name: urihandler
Version: 1.1.0
Summary: A tiny application that handles (cool) uri's.
Home-page: https://github.com/OnroerendErfgoed/urihandler
Author: Flanders Heritage Agency
Author-email: ict@onroerenderfgoed.be
License: GPLv3
Keywords: web wsgi pyramid uri
Platform: UNKNOWN
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Framework :: Pyramid
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Requires-Dist: pyramid
Requires-Dist: PyYAML

UriHandler
==========

.. image:: https://badge.fury.io/py/urihandler.png
        :target: http://badge.fury.io/py/urihandler

.. image:: https://travis-ci.org/OnroerendErfgoed/urihandler.png?branch=master
        :target: https://travis-ci.org/OnroerendErfgoed/urihandler
.. image:: https://coveralls.io/repos/OnroerendErfgoed/urihandler/badge.png?branch=master
        :target: https://coveralls.io/r/OnroerendErfgoed/urihandler

This very simple application is meant to be the handler on a domain that
handles Cool Uri's (http://www.w3.org/TR/cooluris/) with 303 redirects.

All it does is map Uri's to other uri's and redirect them. To make thing easy
you can either redirect by hitting the full URI (eg.
`http://id.example.com/foo/15`) or by querying a handle service (eg.
`http://id.example.com/handle?uri=http://id.example.com/foo/15`). Both of these
will redirect you. The handle service also works for non-http URI's. Finally,
there's a service that just returns information without performing a redirect,
eg. `http://id.example.com/uris?uri=http://id.example.com/foo/15`. This can be
handy to bypass some of the strangeness that happens when you combine Cool uri's
with CORS and custom HTTP headers.

Configuration is done by editing a YAML file. For each URI you need to register
a regex and a redirect template. The regex should use named placeholders, as
well as the redirect string. An optional argument `mount` determines if your
`match` is living at the server root or is absolute (eg. because it's a URN). Not
setting `mount` sets it to `True`.


1.0.0 (27-02-2023)
------------------

- Onderscheid op accept header toelaten (#86)


1.0.0 (06-07-2022)
------------------

- Drop python 2 support (#80)
- Update to pyramid 2 (#78)
- Update dependencies (#77)
- Is setup.cfg still needed? (#76)
- Drop pyup support (#75)
- Which HTTP methods does the "redirect" route support? (#73)

0.4.0 (07-12-2020)
------------------

- Py3 migratie (#53)

0.3.0 (12-04-2016)
------------------

- Added http caching to the `/uris` endpoint.

0.2.0 (28-09-2015)
------------------

- Added a `/uris` endpoint that does not redirect, but just returns information.

0.1.0 (27-09-2015)
------------------

- Initial version
- Allows redirecting a a regular URI and with a query service.


