class BasicContentFilter extends AbstractSecureContentFilter {

    public Optional<AbstractAuthenticationToken> extractContent(HttpServletRequest request) {
        return Optional.ofNullable(
            request.getHeader(HttpHeaders.AUTHORIZATION)
        ).filter(
            header -> header.startsWith(ApimlConstants.BASIC_AUTHENTICATION_PREFIX)
        ).map(
            header -> header.replaceFirst(ApimlConstants.BASIC_AUTHENTICATION_PREFIX, "").trim()
        )
            .filter(base64Credentials -> !base64Credentials.isEmpty())
            .map(this::mapBase64Credentials);
    }

    public  BasicContentFilter(AuthenticationManager authenticationManager,
                              AuthenticationFailureHandler failureHandler,
                              ResourceAccessExceptionHandler resourceAccessExceptionHandler);
    public  BasicContentFilter(AuthenticationManager authenticationManager,
                              AuthenticationFailureHandler failureHandler,
                              ResourceAccessExceptionHandler resourceAccessExceptionHandler,
                              String[] endpoints);

}