Single-file Play Framework application with Ammonite courtesy of Li Haoyi @li_haoyi
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Single-file play framework application! Make sure everything | |
* works, as this is the test case that un-earthed #371 | |
*/ | |
load.ivy("com.typesafe.play" %% "play" % "2.5.0") | |
load.ivy("com.typesafe.play" %% "play-netty-server" % "2.5.0") | |
load.ivy("org.scalaj" %% "scalaj-http" % "2.2.1") | |
@ | |
import play.core.server._, play.api.routing.sird._, play.api.mvc._ | |
import scalaj.http._ | |
val server = NettyServer.fromRouter(new ServerConfig( | |
rootDir = new java.io.File("."), | |
port = Some(19000), sslPort = None, | |
address = "0.0.0.0", mode = play.api.Mode.Dev, | |
properties = System.getProperties, | |
configuration = play.api.Configuration( | |
"play.server.netty" -> Map( | |
"maxInitialLineLength" -> 4096, | |
"maxHeaderSize" -> 8192, | |
"maxChunkSize" -> 8192, | |
"log.wire" -> false, | |
"eventLoopThreads" -> 0, | |
"transport" -> "jdk", | |
"option.child" -> Map() | |
) | |
) | |
)) { | |
case GET(p"/hello/$to") => Action { Results.Ok(s"Hello $to") } | |
} | |
Console.readLine() | |
server.stop() | |
I hope that this awesome code snippet will encourage you to check out Ammonite-REPL (A Modernized Scala REPL).