diff options
author | Li Haoyi <haoyi@dropbox.com> | 2014-09-05 13:20:48 -0700 |
---|---|---|
committer | Li Haoyi <haoyi@dropbox.com> | 2014-09-05 13:20:48 -0700 |
commit | cf9b1e5dc81d4c3a30a26cb18e38f7db03460ef4 (patch) | |
tree | 8df706e2ebcbab222e898d30dea71fdef0b419ca /src/main/scala/workbench | |
parent | 020885615083203808a3ea7ab3181cedf9a48331 (diff) | |
download | workbench-cf9b1e5dc81d4c3a30a26cb18e38f7db03460ef4.tar.gz workbench-cf9b1e5dc81d4c3a30a26cb18e38f7db03460ef4.tar.bz2 workbench-cf9b1e5dc81d4c3a30a26cb18e38f7db03460ef4.zip |
Workbench is now pure-scala
Diffstat (limited to 'src/main/scala/workbench')
-rw-r--r-- | src/main/scala/workbench/Server.scala | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/src/main/scala/workbench/Server.scala b/src/main/scala/workbench/Server.scala index 96ac736..bec88b6 100644 --- a/src/main/scala/workbench/Server.scala +++ b/src/main/scala/workbench/Server.scala @@ -14,13 +14,13 @@ import scala.concurrent.Future class Server(url: String, port: Int, bootSnippet: String) extends SimpleRoutingApp{ implicit val system = ActorSystem( - "SystemLol", + "Workbench-System", config = ConfigFactory.load(ActorSystem.getClass.getClassLoader), classLoader = ActorSystem.getClass.getClassLoader ) object Wire extends autowire.Client[Js.Value, upickle.Reader, upickle.Writer]{ def doCall(req: Request): Future[Js.Value] = { - pubSub ! Js.Arr(Js.Str(req.path.mkString(".")), Js.Obj(req.args.toSeq:_*)) + pubSub ! Js.Arr(upickle.writeJs(req.path), Js.Obj(req.args.toSeq:_*)) Future.successful(Js.Null) } def write[Result: Writer](r: Result) = upickle.writeJs(r) @@ -63,19 +63,25 @@ class Server(url: String, port: Int, bootSnippet: String) extends SimpleRoutingA get { path("workbench.js") { complete { - IO.readStream( - getClass.getClassLoader - .getResourceAsStream("client-opt.js") - ) + s"\nMain.main(${upickle.write(bootSnippet)}, ${upickle.write(url)}, ${upickle.write(port)})" + val body = IO.readStream( + getClass.getClassLoader.getResourceAsStream("client-opt.js") + ) + s""" + (function(){ + $body + + WorkbenchClient().main(${upickle.write(bootSnippet)}, ${upickle.write(url)}, ${upickle.write(port)}) + }).call(this) + """ } } ~ - getFromDirectory(".") + getFromDirectory(".") } ~ - post { - path("notifications") { ctx => - pubSub ! ctx.responder - } + post { + path("notifications") { ctx => + pubSub ! ctx.responder } + } } def kill() = { system.shutdown() |