private def logResponse()

in src/main/scala/payment_failure_comms/IdapiConnector.scala [42:66]


  private def logResponse(logger: LambdaLogger, response: Response, body: String): Unit =
    Log.response(logger)(
      service = Log.Service.Idapi,
      url = response.request().url().toString,
      method = response.request().method(),
      responseCode = response.code(),
      body = Some(body)
    )

  def handleRequestResult[T: Decoder](logger: LambdaLogger)(result: Either[Throwable, Response]): Either[Failure, T] = {
    result
      .left.map(i => IdapiRequestFailure(s"Attempt to contact Braze failed with error: ${i.toString}"))
      .flatMap(response => {
        val body = response.body().string()
        logResponse(logger, response, body)
        if (response.isSuccessful) {
          decode[T](body)
            .left.map(decodeError =>
              IdapiResponseFailure(s"Failed to decode successful response:$decodeError. Body to decode $body")
            )
        } else {
          Left(IdapiResponseFailure(s"The request to Braze was unsuccessful: ${response.code} - $body"))
        }
      })
  }