Skip to content

Instantly share code, notes, and snippets.

@stephanos
stephanos / gist:2694905
Created May 14, 2012 16:26
play onRouteRequest
override def onRouteRequest(req: RequestHeader): Option[Action[_]] =
super.onRouteRequest(req).map {
case action: Action[_] =>
currentUserId(req) match {
case None =>
req.path match {
case p if isRestrictedPath(p) => // requires login
Authenticated(action)
case p if isEncryptedWhenLoggedOut(p) => // required HTTPS for user/
Encrypted(action)
protected case class Encrypted[A](action: Action[A]) extends Action[A] {
def apply(req: Request[A]) = {
EnvUtil.isCloud match {
case true =>
req.headers.get("x-forwarded-proto") match {
case Some("https") => action(req)
case _ => redirectToHttps(req)
}
case _ =>
@stephanos
stephanos / .slugignore
Created December 17, 2011 16:26
my .slugignore
#logs
*.log
logs/
logs/**
tmp/
tmp/**
#assets
*.ai
*.psd
import org.slf4j._
lazy val log = LoggerFactory.getLogger(loggerName)
Session.currentSession.setLogger(logging(_))
def logging(msg: String) {
if (log.isDebugEnabled) {
val _m = msg.replaceAll("\n", " ").replaceAll(" ", " ").replaceAll(" ", " ")
<table>
<tbody>
<!-- first 'section' -->
<tr class="head">
<td colspan="4">HEAD A</td>
</tr>
<tr class="data">
<td>a</td>
<table>
<tbody>
<!-- first 'section' -->
<tr class="head">
<td>HEAD A</td>
<td></td>
</tr>
<tr class="data">
private def shrinkDBO(dbo: DBObject): DBObject = {
def isDBO(v: AnyRef) = v.isInstanceOf[DBObject]
def isEmptyDBO(v: AnyRef) = isDBO(v) && v.asInstanceOf[DBObject].isEmpty
def shrink(v: AnyRef) = if (isDBO(v)) shrinkDBO(v.asInstanceOf[DBObject]) else v
dbo match {
case _: BasicDBList =>
val ls = new BasicDBList()
(dbo.mapValues(shrink(_)).filter(!isEmptyDBO(_)).values).foreach(ls.add(_))
ls
import akka.amqp.AMQP._
import akka.amqp._
import akka.actor._
import akka.dispatch._
import akka.util.Logging
object AMQPTest extends Logging {
val connection = AMQP.newConnection()
val exchangeParameters = ExchangeParameters("my_direct_exchange", Direct)
import akka.amqp.AMQP._
import akka.amqp._
import akka.actor._
import akka.dispatch._
import akka.util.Logging
object AMQPTest extends Logging {
val connection = AMQP.newConnection()
val exchangeParameters = ExchangeParameters("my_direct_exchange", Direct)
object AMQPTest extends Logging {
val connection = AMQP.newConnection()
val exchangeParameters = ExchangeParameters("my_direct_exchange", Direct)
class JobConsumer extends Actor {
def receive = {
case Delivery(payload, _, _, _, _, _) =>
println("Received message: " + new String(payload))