in play-v29/src/main/scala/com/gu/googleauth/filters.scala [18:32]
def apply(nextFilter: (RequestHeader) => Future[Result])
(requestHeader: RequestHeader): Future[Result] = {
if (environment.isTest || requestHeader.path.startsWith(loginUrl.path) ||
exemptions.exists(exemption => requestHeader.path.startsWith(exemption.path)))
nextFilter(requestHeader)
else {
UserIdentity.fromRequest(requestHeader) match {
case Some(identity) if identity.isValid => nextFilter(requestHeader)
case otherIdentity =>
Future.successful(Redirect(loginUrl.path)
.addingToSession((LOGIN_ORIGIN_KEY, requestHeader.uri))(requestHeader))
}
}
}