Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    William Boxhall
    @williamboxhall
    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
    what’s the error?
    William Boxhall
    @williamboxhall
    [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
    def serverFor[T <: Api: Manifest]
    William Boxhall
    @williamboxhall
    oh.
    Flavio W. Brasil
    @fwbrasil
    it generates an implicit value with the manifest for the Api type
    William Boxhall
    @williamboxhall
    wow
    scala can do anything!
    that fixed it, thanks!
    William Boxhall
    @williamboxhall
    Got everything working including tearing down the 3 running services, and added a little README doco
    things I still wanna do
    a) make Zoot compatible with the twitter Future so we dont' have to do that ugliness we discussed before
    b) add some filter-chain stuff, authentication in the frontend then passing user session headers around
    c) add some more fun endpoints
    d) maybe tweak the Builder class I created. Maybe we should add it to Zoot, or allow Zoot to build client/server with nice defaults, just supplying host/port
    Flavio W. Brasil
    @fwbrasil
    Cool stuff man! I'll check it out tomorrow
    William Boxhall
    @williamboxhall
    @fwbrasil it seems that Zoot does not support having multiple "controllers" per service. I supply only one controller to new FinagleServer(Server[MyController](myController))
    it would be nice to be able to go new FinagleServer(firstController, secondController, third...). For example my service has multiple REST resources that I wish to express as different Api traits
    Flavio W. Brasil
    @fwbrasil
    Yeah, that's a bad limitation
    The idea was mix all.traits together in only one api class
    But I don't like this approach anymore
    William Boxhall
    @williamboxhall
    I'm trying to wedge support for com.twitter.util.Future in to Zoot
    think im in a bit over my head, but what the hey
    William Boxhall
    @williamboxhall
    @fwbrasil is there an easy way for me to run the Zoot-Sample?
    actually maybe it's just easier if i publish zoot locally and point my own sample project at it
    William Boxhall
    @williamboxhall
    damn
    @fwbrasil seems to swallow exception messages, makes it difficult to debug
    William Boxhall
    @williamboxhall
    i think
    actually its something wrong with my sample project swallowing errors
    William Boxhall
    @williamboxhall
    @fwbrasil , what is the type of Filter in this example? https://github.com/fwbrasil/zoot#filters
    com.twitter.finagle.Filter?
    William Boxhall
    @williamboxhall
    @fwbrasil I could use a hand when you're around mate
    William Boxhall
    @williamboxhall
    aw man there is a Zoot filter, I just couldn't see it :(
    williamboxhall @williamboxhall facepalm
    Flavio W. Brasil
    @fwbrasil
    Hehe
    William Boxhall
    @williamboxhall
    i spent like an hour faffing about
    oh well :)
    @fwbrasil i was having a go at allowing Zoot to support twitter futures
    and i got something compiling but when i went to test it, my sample app is just swallowing all exceptions
    so now i am on a detour fixing my sample app to print exceptions :)
    William Boxhall
    @williamboxhall
    man @fwbrasil I don't like the scala future
    the twitter future api is better
    future.onSuccess is quite different for the two
    William Boxhall
    @williamboxhall
    @fwbrasil I am having trouble catching exceptions in the filter chain: williamboxhall/clump-zoot-sample#2