riffed
riffed copied to clipboard
Provides idiomatic Elixir bindings for Apache Thrift
Hello :) Really great work for the Thrift implementation in Elixir. But I'm stuck to know which repo and implementation is better or the most up to date between this...
The Elixir idiom is to have a function that ends with an exclamation point throw an exception, and an unadorned function return `{:ok, response}` or `{:error, reason}`. This PR changes...
https://github.com/pinterest/riffed/blob/v_1_5_0/lib/riffed/client.ex#L98
``` https://github.com/pinterest/riffed/blob/master/lib/riffed/client.ex#L199 this also seems to have an off by 1 error so maybe try setting retries: 1 as if retries: 0 then it will never try :/ ```
In my program with riffed, exceptions crash. I want to forward them to my application instead of crashing. https://gist.github.com/fire/de385f33a07ca6416ccbc42df8abbfa8
This PR adds exceptions to the client, server and struct modules. It's dependent on thrift 0.10 though, and targets the 1.5 branch.
Tested on Elixir 1.3.2.
I've adapted the `Client` to be able to start multiple `GenServer`s. I didn't want to change the behavior of any of the other `start_link` functions, so there's a new function...
Provides a simple client wrapper, that can specify underlying module. Return tagged value {:ok, result} | {:error, reason} | {:exception, thrift_exception}
With Thrift 0.9.4 (or 1.0, it depends) we get additional metadata in the erlang implementation that allows us to auto import structs and enums. This eliminates a bunch of boilerplate...