@Override
    public final CompletionStage<Boolean> authorize(ServiceRequestContext ctx, T data) {
        return AuthorizerUtil.authorizeAndSupplyHandlers(this, ctx, data)
                             .thenApply(status -> status != null ? status.isAuthorized() : null);
    }
Provides base implementation for an {@link Authorizer} that defines custom
{@link AuthSuccessHandler}/{@link AuthFailureHandler}s.
@param <T> a type of authorization data. This typically is {@link HttpRequest}.
core/src/main/java/com/linecorp/armeria/server/auth/AbstractAuthorizerWithHandlers.java