addResourceTemplate method
Adds the ResourceTemplate template
with handler
.
When reading resources, first regular resources added by addResource
are prioritized. Then, we call the handler
for each template
, in the
order they were added (using this method), and the first one to return a
non-null response wins. This package does not automatically handle
matching of templates and handlers must accept URIs in any form.
Throws a StateError if there is already a template registered with the same uri template.
Implementation
void addResourceTemplate(
ResourceTemplate template,
ReadResourceHandler handler,
) {
if (_resourceTemplates.any(
(t) => t.template.uriTemplate == template.uriTemplate,
)) {
throw StateError(
'Failed to add resource template ${template.name}, there is '
'already a resource template with the same uri pattern '
'${template.uriTemplate}.',
);
}
_resourceTemplates.add((template: template, handler: handler));
}