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")
}
}