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.
An ErrorHandler that returns an error response without adding a body. For certain status codes, such as 304, it is important to not change anything in the headers, such as content-type.
The
statusCodes
array contains the status codes of error types for which a body should never be added.The
always
boolean can be set totrue
to indicate that all errors should be handled here.For errors with different status codes, a metadata field can be added to indicate that this specific error response should not receive a body. The predicate should be
urn:npm:solid:community-server:error:emptyBody
and the valuetrue
.