The existence of the target resource determines the output status code for certain situations. The provided ResourceSet will be used for that.
ResourceSet that can verify the target resource existence.
Protected
Readonly
loggerPrivate
Readonly
resourceChecks if 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.
Private
isChecks whether the agent is authenticated (logged in) or not (public/anonymous).
Credentials to check.
Private
reportIf we know the operation will return a 404 regardless (= resource does not exist and is not being created), and the agent is allowed to know about its existence (= the agent has Read permissions), then immediately send the 404 here, as it makes any other agent permissions irrelevant.
Otherwise, deny access based on existing grounds.
Private
requireEnsures that at least one of the credentials provides permissions for the given mode. Throws a ForbiddenHttpError or UnauthorizedHttpError depending on the credentials if access is not allowed.
Credentials that require access.
PermissionSet describing the available permissions of the credentials.
Which mode is requested.
Authorizer that bases its decision on the output it gets from its PermissionReader. For each permission it checks if the reader allows that for at least one credential type, if yes authorization is granted.
undefined
values for reader results are interpreted asfalse
.