override def apply()

in newswires/app/lib/RequestLoggingFilter.scala [25:48]


  override def apply(
      next: RequestHeader => Future[Result]
  )(request: RequestHeader): Future[Result] = {
    val start = System.currentTimeMillis()
    val withID = request.withHeaders(
      request.headers.replace(
        RequestLoggingFilter.requestIdHeader -> UUID.randomUUID().toString
      )
    )

    val resultFuture = next(withID)

    resultFuture onComplete {
      case Success(response) =>
        val duration = System.currentTimeMillis() - start
        log(withID, Right(response), duration)

      case Failure(err) =>
        val duration = System.currentTimeMillis() - start
        log(withID, Left(err), duration)
    }

    resultFuture
  }