protected CompletionStage < Result > authorizeAndExecute ( final Http . RequestHeader request ) { if ( constraintAnnotationMode != ConstraintAnnotationMode . AND ) { // In AND mode we don't mark an action as authorised because we want ALL (remaining) constraints to be evaluated as well! return delegate . call ( ( Http . Request ) markAsAuthorised ( request ) ) ; } return delegate . call ( ( Http . Request ) request ) ; }
Add a flag to the request to indicate the action has passed the constraint and call the delegate .