Вкратце
Какой тип исключения я должен генерировать, если HTTP-запрос продолжает возвращать код ответа 5XX в scala?
Длинная форма
У меня есть код, который повторяет HTTP-запросы, потому что я работаю с некоторыми конечными точками, которые не очень надежны. Эти попытки обычно работают. Но иногда я просто получаю 5xx за ошибку 408 и мне нужно выбросить исключение. В настоящее время у меня есть заполнитель IOException в приведенном ниже коде.
def requestRetrier
...
try {
responseObject = request(url, headers, payload, requestMethod, connectTimeout, readTimeout)
if ((List(500, 503...) contains responseObject.responseCode) && (retries != 0)) {
responseObject = requestRetrier(
url = url,
headers,
payload,
requestMethod,
connectTimeout,
readTimeout,
retries - 1)
} else if ((retries == 0) && (List(500, 503...) contains responseObject.responseCode)) {
throw new java.io.IOException
}
....