Библиотека Scala Dispatch: как справиться с ошибкой подключения или превышением времени ожидания?

Я использовал библиотеку Databinder Dispatch в клиенте для простой REST-ish API Я знаю, как определить, получу ли я ответ HTTP со статусом ошибки:

Http x (request) {
    case (200, _, _, content) => successResult(content())
    case (404, _, _, _) => notFoundErrorResult
    case (_, _, _, _) => genericErrorResult
}

Но как я могу отличить ответ об ошибке от невозможности получить какой-либо ответ вообще из-за недопустимого домена или сбоя для подключения? И есть ли способ реализовать тайм-аут, все еще используя синхронную семантику? Если в API есть что-то важное, я пропустил это.

7
задан Christian Krause 5 April 2014 в 16:16
поделиться