У меня есть сервер приложений Proxy Play (сервер A) перед другим сервером (сервер B). Когда на этом прокси-сервере A происходит ошибка сервера, я хотел бы сделать запрос на другой сервер B и вернуть его ответ, а если это тоже не удалось, вернуться с внутренней ошибкой сервера.
Насколько я понимаю, вы можете отлавливать ошибки в dev env и prod env, но не в тестовом env (https://www.playframework.com/documentation/2.6.x/ScalaErrorHandling#Extending-the-default-error-handler)
/**
* Invoked in dev mode when a server error occurs.
*
* @param request The request that triggered the error.
* @param exception The exception.
*/
protected def onDevServerError(request: RequestHeader, exception: UsefulException): Future[Result] =
Future.successful(InternalServerError(views.html.defaultpages.devError(playEditor, exception)))
/**
* Invoked in prod mode when a server error occurs.
*
* Override this rather than [[onServerError]] if you don't want to change Play's debug output when logging errors
* in dev mode.
*
* @param request The request that triggered the error.
* @param exception The exception.
*/
protected def onProdServerError(request: RequestHeader, exception: UsefulException): Future[Result] =
Future.successful(InternalServerError(views.html.defaultpages.error(exception)))
Я хотел бы знать, смогу ли я проверить вышеуказанный сценарий (ответ сервера B при сбое сервера A) в тестовой среде.