Content resolver support
As there is not yet been a content resolver set up for Icecast and/or the foundation I would like to suggest the following:
Icecast should be extended with a set of settings used to generate URLs for content resolver requests. Initially there should be support for generating links to documentation. Other types (such as fetches) might later be added.
The I suggest to allow a template style URLs as values with %
-prefixed parameters to be substituted.
As a reference "ise-uri-template
" (82ebe8fa-8b04-415a-ba90-16267465ef71
) defines:
A URI template for accessing a resolver. This should not be used directly but my using one of the relations derived from it. Such templates are meant to be attached to contexts to allow easy access to resolvers without the need to set direct URIs on every tag.
Templates are used as is with the following variables replaced by correctly URI encoded values. If a given value is not available this template is not available.
- "%I": Any ISE of the tag
- "%U": The UUID of the tag
- "%O": The OID of the tag
- "%R": The URI of the tag
The use of those values is mostly safe as "%" is a special character in URIs that can only be followed by digits, or the letters "a" to "f". However some applications generate invalidly encoded Unicode URIs containing values in the form of "%uNNNN". Those are invalid by themself and therefore not valid in such templates.
I would like to extend that by providing three more substitutions:
- A generic one for the identifier (in any type/encoding)
- The name of the type/encoding used
- The name of the type/encoding used but the value
ise
for any ISE type (UUID, OID, URI).
If such parameters are added a note should be added to the code to make clear that they do not follow the ise-uri-template
rules. However they may be added or at least reserved for ise-uri-template
to avoid future syntax collisions.