Docker can be used to avoid having to install Ruby and all the dependencies locally.
Clone the project first, and navigate into your clone:
$ git clone https://github.com/jneen/rouge.git
$ cd rouge
def Secured[A](username: String, password: String)(action: Action[A]) = Action(action.parser) { request => | |
request.headers.get("Authorization").flatMap { authorization => | |
authorization.split(" ").drop(1).headOption.filter { encoded => | |
new String(org.apache.commons.codec.binary.Base64.decodeBase64(encoded.getBytes)).split(":").toList match { | |
case u :: p :: Nil if u == username && password == p => true | |
case _ => false | |
} | |
}.map(_ => action(request)) | |
}.getOrElse { | |
Unauthorized.withHeaders("WWW-Authenticate" -> """Basic realm="Secured"""") |
Docker can be used to avoid having to install Ruby and all the dependencies locally.
Clone the project first, and navigate into your clone:
$ git clone https://github.com/jneen/rouge.git
$ cd rouge