in app/model/Instance.scala [116:135]
def usefulUrls: Seq[(String, String)]
def versionUrl: String
def versionExtractor: WSResponse => Option[String]
def version(implicit wsClient: WSClient) :Future[Option[String]] = {
(for {
wsWithUrl <- Future.fromTry(Try(wsClient.url(versionUrl)))
response <- wsWithUrl.withRequestTimeout(200.milliseconds).get() map (versionExtractor)
} yield response) recover {
case _: ConnectException =>
log.error(s"Couldn't retrieve $versionUrl")
None
case e =>
log.error(s"Couldn't retrieve $versionUrl", e)
None
}
}