private def JsonBody()

in src/main/scala/PurgerLambda.scala [89:115]


  private def JsonBody(collectionKeys: List[String]): RequestBody =
    RequestBody.create(
      Map("surrogate_keys" -> collectionKeys).asJson.noSpaces,
      MediaType.get("application/json; charset=utf-8")
    )

  /**
   * Send a soft purge request to Fastly API.
   */

  private def sendPurgeRequest(collectionKeys: List[String], purgerConfig: Config): Boolean = {
    val url = s"https://api.fastly.com/service/${purgerConfig.fastlyServiceId}/purge"

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

    val response = httpClient.newCall(request).execute()
    response.code() match {
      case 200 => logger.info(s"Sent purge request for ${collectionKeys}. Response from Fastly API: [${response.code}] [${response.body.string}]")
      case _ => logger.warn(s"An error occurred. Response from Fastly API: [${response.code}] [${response.body.string}]")
    }
    response.code == 200
  }