gorealis v2 refactor (#5)

* Changing default timeout for start maintenance.

* Upgrading dependencies to gorealis v2 and thrift  0.12.0

* Refactored to update to gorealis v2.
This commit is contained in:
Renan DelValle 2018-12-27 11:31:51 -08:00 committed by GitHub
parent ad4dd9606e
commit 6ab5c9334d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
1335 changed files with 137431 additions and 61530 deletions

View file

@ -106,21 +106,30 @@ class SimpleHandler
end
protocol = "binary"
domain_socket = nil
port = 9090
protocol = "binary"
@protocolFactory = nil
ssl = false
transport = "buffered"
@transportFactory = Thrift::BufferedTransportFactory.new
@protocolFactory = Thrift::BinaryProtocolFactory.new
@transportFactory = nil
ARGV.each do|a|
if a == "--help"
puts "Allowed options:"
puts "\t -h [ --help ] \t produce help message"
puts "\t--port arg (=9090) \t Port number to listen"
puts "\t--protocol arg (=binary) \t protocol: binary, accel"
puts "\t--domain-socket arg (=) \t Unix domain socket path"
puts "\t--port arg (=9090) \t Port number to listen \t not valid with domain-socket"
puts "\t--protocol arg (=binary) \t protocol: accel, binary, compact, json"
puts "\t--ssl \t use ssl \t not valid with domain-socket"
puts "\t--transport arg (=buffered) transport: buffered, framed, http"
exit
elsif a.start_with?("--domain-socket")
domain_socket = a.split("=")[1]
elsif a.start_with?("--protocol")
protocol = a.split("=")[1]
elsif a == "--ssl"
ssl = true
elsif a.start_with?("--transport")
transport = a.split("=")[1]
elsif a.start_with?("--port")
@ -128,9 +137,7 @@ ARGV.each do|a|
end
end
if protocol == "binary"
@protocolFactory = Thrift::BinaryProtocolFactory.new
elsif protocol == ""
if protocol == "binary" || protocol.to_s.strip.empty?
@protocolFactory = Thrift::BinaryProtocolFactory.new
elsif protocol == "compact"
@protocolFactory = Thrift::CompactProtocolFactory.new
@ -142,9 +149,7 @@ else
raise 'Unknown protocol type'
end
if transport == "buffered"
@transportFactory = Thrift::BufferedTransportFactory.new
elsif transport == ""
if transport == "buffered" || transport.to_s.strip.empty?
@transportFactory = Thrift::BufferedTransportFactory.new
elsif transport == "framed"
@transportFactory = Thrift::FramedTransportFactory.new
@ -152,8 +157,32 @@ else
raise 'Unknown transport type'
end
@handler = SimpleHandler.new
@handler = SimpleHandler.new
@processor = Thrift::Test::ThriftTest::Processor.new(@handler)
@transport = Thrift::ServerSocket.new(port)
@server = Thrift::ThreadedServer.new(@processor, @transport, @transportFactory, @protocolFactory)
@transport = nil
if domain_socket.to_s.strip.empty?
if ssl
# the working directory for ruby crosstest is test/rb/gen-rb
keysDir = File.join(File.dirname(File.dirname(Dir.pwd)), "keys")
ctx = OpenSSL::SSL::SSLContext.new
ctx.ca_file = File.join(keysDir, "CA.pem")
ctx.cert = OpenSSL::X509::Certificate.new(File.open(File.join(keysDir, "server.crt")))
ctx.cert_store = OpenSSL::X509::Store.new
ctx.cert_store.add_file(File.join(keysDir, 'client.pem'))
ctx.key = OpenSSL::PKey::RSA.new(File.open(File.join(keysDir, "server.key")))
ctx.options = OpenSSL::SSL::OP_NO_SSLv2 | OpenSSL::SSL::OP_NO_SSLv3
ctx.ssl_version = :SSLv23
ctx.verify_mode = OpenSSL::SSL::VERIFY_PEER
@transport = Thrift::SSLServerSocket.new(nil, port, ctx)
else
@transport = Thrift::ServerSocket.new(port)
end
else
@transport = Thrift::UNIXServerSocket.new(domain_socket)
end
@server = Thrift::ThreadedServer.new(@processor, @transport, @transportFactory, @protocolFactory)
puts "Starting TestServer #{@server.to_s}"
@server.serve
puts "done."