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.
Transforms an HTTP redirect into a hypermedia document with a redirection link, such that scripts running in a browser can redirect the user to the next page.
This handler addresses the situation where:
Regular HTTP redirects are performed via responses with 3xx status codes. However, since the consumer of the API in this case is a browser script, a 3xx response would only reach that script and not move the page for the user.
Therefore, this handler changes a 3xx response into a 200 response with an explicit link to the next page, enabling the script to move the user to the next page.