Skip to content

Instantly share code, notes, and snippets.

@urcadox
urcadox / StuffUsingTimedFutures.scala
Created January 5, 2022 14:42
Tool to print future timing in Scala
object StuffUsingTimedFutures {
def slowFuture(): Unit = {
val future = Future {
Thread.sleep(1000)
}
TimedFuture(future).printTime("foo")
}
}
alter table records
add constraint cname_single_record_per_name_a
exclude using gist (name with =, "type" with <>)
where ("type" IN ('A', 'CNAME'));

Keybase proof

I hereby claim:

  • I am urcadox on github.
  • I am urcadox (https://keybase.io/urcadox) on keybase.
  • I have a public key whose fingerprint is 7C92 56D4 AB89 2A42 1D0F FDBF F19E 634D 4F24 A5C7

To claim this, I am signing this object:

@urcadox
urcadox / repl_2.5.scala
Last active January 22, 2020 11:18
Creating an instance of a class with injected components in Play 2.5.x / 2.6.x / 2.7.x / 2.8.x REPL
// For Play 2.5.x and 2.6.x
// After starting the application in the console (https://www.playframework.com/documentation/2.5.x/PlayConsole#launch-the-interactive-console)
import play.api._
val env = Environment(new java.io.File("."), this.getClass.getClassLoader, Mode.Dev)
val context = ApplicationLoader.createContext(env)
val loader = ApplicationLoader(context)
val app = loader.load(context)
Play.start(app)
@urcadox
urcadox / Filters.scala
Created November 18, 2016 11:30
Play 2.5 HTTPS redirection on Clever Cloud
package controllers
import javax.inject._
import play.api._
import play.api.http.DefaultHttpFilters
import play.api.mvc._
import play.api.Environment
import scala.concurrent.{ExecutionContext, Future}
import akka.stream.Materializer
@urcadox
urcadox / Filters.scala
Created February 11, 2016 17:23
Play 2.4.6 HTTPS filter
package controllers;
import play.api._
import play.api.http.HttpFilters
import play.api.mvc._
import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global
import play.api.Play.current

Keybase proof

I hereby claim:

  • I am urcadox on github.
  • I am urcadox (https://keybase.io/urcadox) on keybase.
  • I have a public key whose fingerprint is E43B 1323 D806 A25A AD59 1A27 07D6 60E5 E621 D21D

To claim this, I am signing this object:

import org.joda.time.format.ISODateTimeFormat
implicit val dateTimeBinder = new QueryStringBindable.Parsing[DateTime](
ISODateTimeFormat.dateTime.parseDateTime _,
ISODateTimeFormat.dateTime.print _,
(key: String, e: Exception) => s"Cannot parse parameter $key as DateTime: ${e.getMessage}"
)

Keybase proof

I hereby claim:

  • I am urcadox on github.
  • I am urcadox (https://keybase.io/urcadox) on keybase.
  • I have a public key whose fingerprint is BDF6 8233 D3C1 176E 70D4 99B9 88C0 73AD 16FB 3109

To claim this, I am signing this object:

@urcadox
urcadox / gist:9620563
Created March 18, 2014 13:57
Excerpt of a Global.scala file from a Play project - on error handler
object Global extends WithFilters(new GzipFilter()) with DBeable {
/* [...] */
override def onError(request: RequestHeader, ex: Throwable) = {
import _root_.util.Mailer
val exId = ex match {
case e: PlayException => Some(e.id)
case _ => None