3 ms·
This sub-thread in my understanding is about a special case (a non-error mode that client may want to avoid, in which case explicit callback makes sense), not a
by ivan_gammel 10mo ago
This sub-thread in my understanding is about a special case (a non-error mode that client may want to avoid, in which case explicit callback makes sense), not about all possible unexpected errors. I’m not suggesting hooks as the best approach. And of course “on429” is the last thing I would think about when designing this. There are better ways.
- dpark 10mo agoIf the statement is just that sometimes it’s appropriate to have callbacks, absolutely. A library that only logs in places where it really needs a callback is poorly designed. I still don’t want to have to provide a 429 callback just to log, though. The library should log by default if the callback isn’t registered.
- ivan_gammel 10mo agoIt 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.