Interface Resolver
- All Known Subinterfaces:
NoAuthResolver
- All Known Implementing Classes:
CompositeResolver
,FunctionalResolverWrapper
public interface Resolver
Interface for resolving requests of Plan webserver.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Implement access control if authorization is enabled.default ResponseBuilder
Creates a newResponseBuilder
for aResponse
.default boolean
requiresAuth
(Request request) Used to check if the resolver requires authentication to be used.Implement request resolution.Override this to tell Plan what web permissions this endpoint uses.
-
Method Details
-
canAccess
Implement access control if authorization is enabled.Is not called when access control is not active.
- Parameters:
request
- HTTP request, contains all information necessary to check access.- Returns:
- true if allowed or invalid target, false if response should be 403 (forbidden)
- See Also:
-
usedWebPermissions
Override this to tell Plan what web permissions this endpoint uses.This allows:
- Plan to store these permissions in the permission list
- Users can grant/deny the permission for a group
- Plan can show what endpoints specific permission gives access to
Requires PAGE_EXTENSION_USER_PERMISSIONS capability
- Returns:
- Set of permissions eg. [plugin.custom.permission, plugin.custom.permission.child.node]
- See Also:
-
resolve
Implement request resolution.- Parameters:
request
- HTTP request, contains all information necessary to resolve the request.- Returns:
- Response or empty if the response should be 404 (not found).
- See Also:
-
newResponseBuilder
Creates a newResponseBuilder
for aResponse
.- Returns:
- a new builder.
-
requiresAuth
Used to check if the resolver requires authentication to be used.- Parameters:
request
- Incoming request that you can use to figure out if authentication is required.- Returns:
- true if you want 401 to be given when user has not logged in.
-