It doesn’t have to provide a specific callback. This can be a starting point (Java):
var client = aClient()
.onError((request,response) -> {
LOG.debug(…);
return FAIL;
}).build();
And eventually you do this: return switch(response.code()) {
case 429 -> RETRY;
default -> FAIL;
}
Or something more interesting, e.g. with more details of retry strategy.