in src/main/java/software/amazon/msk/auth/iam/IAMClientCallbackHandler.java [70:88]
public void handle(@NonNull Callback[] callbacks) throws IOException, UnsupportedCallbackException {
for (Callback callback : callbacks) {
if (log.isDebugEnabled()) {
log.debug("Type information for callback: " + debugClassString(callback.getClass()) + " from "
+ debugClassString(this.getClass()));
}
if (callback instanceof AWSCredentialsCallback) {
handleCallback((AWSCredentialsCallback) callback);
} else {
String message = "Unsupported callback type: " + debugClassString(callback.getClass()) + " from "
+ debugClassString(this.getClass());
//We are breaking good practice and logging as well as throwing since this is where client side
//integrations might have trouble. Depending on the client framework either logging or throwing might
//surface the error more easily to the user.
log.error(message);
throw new UnsupportedCallbackException(callback, message);
}
}
}