def itunesRss()

in app/controllers/Application.scala [35:55]


  def itunesRss(tagId: String, userApiKey: Option[String]) = Action.async { implicit request =>
    val startTime = DateTime.now
    val userAgent = request.headers.get("user-agent").getOrElse("")
    logger.info(s"Received request for tag '$tagId' from user agent '$userAgent'")

    val redirect = Redirection.redirect(tagId)
    val eventualResult = redirect match {
      case Some(redirectedTagId) => Future.successful(MovedPermanently(routes.Application.itunesRss(redirectedTagId, userApiKey).absoluteURL(true)))
      case None =>
        rawRss(tagId, userApiKey)
    }

    eventualResult.map { result =>
      logger.info(s"Returning response status ${result.header.status} for tag '${tagId} after ${durationSince(startTime)}")
      result
    }.recover {
      case t: Throwable =>
        logger.warn(s"Failed to complete for tag '$tagId after ${durationSince(startTime)}", t)
        InternalServerError("Could not complete request")
    }
  }