diff options
author | 2015-01-07 18:43:40 -0800 | |
---|---|---|
committer | 2015-01-08 13:27:44 -0800 | |
commit | 6e48a4258ac4958e4392d8091d16267c1c1c2320 (patch) | |
tree | bf4903217abb61b666ab772ce17b0ca5b33c6d7d /src/ruby/bin/noproto_server.rb | |
parent | 228ad9b85373f57ad6ef45740163fad25534b4da (diff) |
Switches to using protobuf-ruby.
- Adds a dependency to protobuf-ruby in the gemfile
- Updates math.proto to proto3
- Updates math server and client to use protoc protos
- Updates interop server and client to use protoc protos
Also
- Fixes/Updates the noproto samples
TESTED: math_server and math_client can communicate locally.
Change on 2015/01/07 by temiola <temiola@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83483448
Diffstat (limited to 'src/ruby/bin/noproto_server.rb')
-rw-r--r-- | src/ruby/bin/noproto_server.rb | 54 |
1 files changed, 45 insertions, 9 deletions
diff --git a/src/ruby/bin/noproto_server.rb b/src/ruby/bin/noproto_server.rb index 7b74fa13ec..d410827b22 100644 --- a/src/ruby/bin/noproto_server.rb +++ b/src/ruby/bin/noproto_server.rb @@ -37,23 +37,24 @@ lib_dir = File.join(File.dirname(this_dir), 'lib') $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir) require 'grpc' +require 'optparse' -class EchoMsg - def marshal +class NoProtoMsg + def self.marshal(o) '' end def self.unmarshal(o) - EchoMsg.new + NoProtoMsg.new end end -class EchoService +class NoProtoService include GRPC::GenericService - rpc :AnRPC, EchoMsg, EchoMsg + rpc :AnRPC, NoProtoMsg, NoProtoMsg end -class Echo < EchoService +class NoProto < NoProtoService def initialize(default_var='ignored') end @@ -63,11 +64,46 @@ class Echo < EchoService end end +def load_test_certs + this_dir = File.expand_path(File.dirname(__FILE__)) + data_dir = File.join(File.dirname(this_dir), 'spec/testdata') + files = ['ca.pem', 'server1.key', 'server1.pem'] + files.map { |f| File.open(File.join(data_dir, f)).read } +end + +def test_server_creds + certs = load_test_certs + server_creds = GRPC::Core::ServerCredentials.new(nil, certs[1], certs[2]) +end + def main - s = GRPC::RpcServer.new() - s.add_http2_port('localhost:9090') - s.handle(Echo) + options = { + 'host' => 'localhost:9090', + 'secure' => false + } + OptionParser.new do |opts| + opts.banner = 'Usage: [--host <hostname>:<port>] [--secure|-s]' + opts.on('--host HOST', '<hostname>:<port>') do |v| + options['host'] = v + end + opts.on('-s', '--secure', 'access using test creds') do |v| + options['secure'] = true + end + end.parse! + + if options['secure'] + s = GRPC::RpcServer.new(creds: test_server_creds) + s.add_http2_port(options['host'], true) + logger.info("... running securely on #{options['host']}") + else + s = GRPC::RpcServer.new + s.add_http2_port(options['host']) + logger.info("... running insecurely on #{options['host']}") + end + + s.handle(NoProto) s.run end + main |