| require 'thrift/transport/tsocket' |
| require 'thrift/protocol/tbinaryprotocol' |
| transport = TBufferedTransport.new(TSocket.new('localhost', 9090)) |
| protocol = TBinaryProtocol.new(transport) |
| client = Calculator::Client.new(protocol) |
| work.op = Operation::DIVIDE |
| quot = client.calculate(1, work) |
| puts "Whoa, we can divide by 0 now?" |
| rescue InvalidOperation => io |
| print "InvalidOperation: ", io.why, "\n" |
| work.op = Operation::SUBTRACT |
| diff = client.calculate(1, work) |
| print "15-10=", diff, "\n" |
| log = client.getStruct(1) |
| print "Log: ", log.value, "\n" |
| print 'TException: ', tx.message, "\n" |