golang bidirectional json rpc