I think HAProxy can make sure the response code for HTTP backends is actually 200 and will mark the connection down if it gets 500 or 400.
Just goes to show you that thinking only of the happy path can often lead you astray.
Just goes to show you that thinking only of the happy path can often lead you astray.