4 ms·
Ouch, that one hurts. I don't know slack API but the contract expectation in the call should absolutely be "500 means the message failed to send" Tells me ther
by cabaalis 7y ago
Ouch, that one hurts. I don't know slack API but the contract expectation in the call should absolutely be "500 means the message failed to send"
Tells me there's some subsystem throwing the error, not the actual messaging (or, if intermittent, something wrong with the distribution.) What do you want to bet it's some kind of new analytics?
- bdonlan 7y agoIt's not possible to always ensure that you report whether an operation succeeded. Consider a timeout - you waited 5 seconds for the backend to respond and heard nothing - was it, or will it be successful? You don't know. Typically a 500 should be considered as a "may or may not have succeeded", and steps taken to deduplicate operations if necessary.
- toast0 7y agoHttp 500 is like when the server drops connection before returning a response. Something happened, but you have no idea what happened. You can't safely retry unless your request is idempotent enough.