These are chat archives for fwbrasil/zoot

22nd
Feb 2015
William Boxhall
@williamboxhall
Feb 22 2015 17:02
did you get a chance to take a look @fwbrasil ?
William Boxhall
@williamboxhall
Feb 22 2015 17:28
@fwbrasil i created a PR to help debug the problem: fwbrasil/zoot#3
but I managed to fix the problem, i just didnt name my method param the same as I had named it in the route
Flavio W. Brasil
@fwbrasil
Feb 22 2015 17:40
sorry, I didn’t have time to look
cool, PR merged
William Boxhall
@williamboxhall
Feb 22 2015 17:41
no worries, it was very quick to fix in the end, just inspected all my APIs and noticed the error
i am just polishing some stuff now but actually its fully working already
I need a tidy way to start up and tear down all my services with make file though
currently i have to ps -ef and kill them all :P
Flavio W. Brasil
@fwbrasil
Feb 22 2015 17:42
not great
maybe create a shutdown endpoint?
William Boxhall
@williamboxhall
Feb 22 2015 17:44
yeah that could work
I just want whatever is easiest for demoing
Flavio W. Brasil
@fwbrasil
Feb 22 2015 17:45
i see
William Boxhall
@williamboxhall
Feb 22 2015 17:45
at the moment when you run make run-all
it starts them all then doesn't exit
i would like to be able to CTRL-C there and kill them all
like somehow join the processes or something :P
also @fwbrasil I could use some help on generics kung-fu
I am trying to write a utility class to hide the client/server creation blahblah
This message was deleted
  def serverFor[T <: Api](name: String, port: Int, controller: T) = {
    val serverBuilder = ServerBuilder().codec(RichHttp[Request](Http())).bindTo(new InetSocketAddress(3333)).name("Tracks")
    val server = new FinagleServer(Server[T](controller), serverBuilder.build)
    println(s"Started $name service.")
    server
  }
but I get the exception
Flavio W. Brasil
@fwbrasil
Feb 22 2015 17:50
what’s the error?
William Boxhall
@williamboxhall
Feb 22 2015 17:50
[error] /Users/william/dev/clump-zoot-sample/api/src/main/scala/org/example/clumpzootsample/Build.scala:32: No Manifest available for T. [error] val server = new FinagleServer(Server[T](controller), serverBuilder.build)
I thought maybe I can use class tag magic?
but i dont really understand how that works
Flavio W. Brasil
@fwbrasil
Feb 22 2015 17:51
def serverFor[T <: Api: Manifest]
William Boxhall
@williamboxhall
Feb 22 2015 17:51
oh.
Flavio W. Brasil
@fwbrasil
Feb 22 2015 17:51
it generates an implicit value with the manifest for the Api type
William Boxhall
@williamboxhall
Feb 22 2015 17:51
wow
scala can do anything!
that fixed it, thanks!