Checks whether the input can be handled by this class. If it cannot handle the input, rejects with an error explaining why.
Input that could potentially be handled.
A promise resolving if the input can be handled, rejecting with an Error if not.
Handles the given input. This may only be called if canHandle did not reject. When unconditionally calling both in sequence, consider handleSafe instead.
Input that needs to be handled.
A promise resolving when handling is finished.
Helper function that first runs canHandle followed by handle. Throws the error of canHandle if the data cannot be handled, or returns the result of handle otherwise.
Input data that will be handled if it can be handled.
A promise resolving if the input can be handled, rejecting with an Error if not.
Stores the HTML templates associated with specific InteractionRoutes.
This class will only handle GET operations for which there is a matching template, if HTML is more preferred than JSON. The reason for doing it like this instead of a standard content negotiation flow, is because we only want to return the HTML pages on GET requests.
Templates will receive the parameter
idpIndex
in their context pointing to the root index URL of the IDP API and anauthenticating
parameter indicating if this is an active OIDC interaction.