private def fetchDiscoveryDocument()

in pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/service/OAuth.scala [24:33]


  private def fetchDiscoveryDocument(): Future[DiscoveryDocument] =
    ws.url(config.discoveryDocumentUrl).get().map(response => DiscoveryDocument.fromJson(response.json))

  private def discoveryDocument: Future[DiscoveryDocument] =
    discoveryDocumentHolder.updateAndGet(futureDiscoveryDocument =>
      if (futureDiscoveryDocument.value.exists(_.isFailure)) {
        fetchDiscoveryDocument()
      } else {
        futureDiscoveryDocument
      }