private def sendPurgeRequest()

in facia-purger/src/main/scala/com/gu/purge/facia/Lambda.scala [45:65]


  private def sendPurgeRequest(contentId: String, config: Config): Boolean = {
    val contentPath = s"/$contentId"
    val surrogateKey = DigestUtils.md5Hex(contentPath)
    val url = s"https://api.fastly.com/service/${config.fastlyServiceId}/purge/$surrogateKey"

    val request = new Request.Builder()
      .url(url)
      .header("Fastly-Key", config.fastlyApiKey)
      .header("Fastly-Soft-Purge", "1")
      .post(EmptyJsonBody)
      .build()

    if (stage == "PROD" || stage == "CODE") {
      val response = httpClient.newCall(request).execute()
      log.info(s"Sent purge request for content with ID [$contentId]. Response from Fastly API: [${response.code}] [${response.body.string}]")
      response.code == 200
    } else {
      log.warn(s"Didn't sent purge request for content with ID [$contentId].")
      true
    }
  }