override def apply()

in mobile-save-for-later/src/main/scala/com/gu/sfl/controller/SaveArticlesController.scala [19:38]


  override def apply(lambdaRequest: LambdaRequest): Future[LambdaResponse] = {
    val futureResponse = lambdaRequest match {
      case LambdaRequest(Some(json),  _) =>
        val triedSavedArticles = Try{
          SavedArticles(mapper.readValue[DirtySavedArticles](json))
        }
        triedSavedArticles match {
          case Failure(t) => {
            val headersWithoutAuth = lambdaRequest.headers.filter{ case (k,v) => headersToKeep.contains(k.toLowerCase)}
            logger.warn(s"Could not read value: $json \nWith headers: $headersWithoutAuth" )
          }

          case _ => ()
        }
        futureSave(triedSavedArticles, lambdaRequest.headers)
      case LambdaRequest(None,  _) =>
        Future { LambdaResponse(StatusCodes.badRequest, Some("Expected a json body")) }
    }
    futureResponse
  }