#!/usr/bin/env ruby
|
|
# Copyright 2015 gRPC authors.
|
#
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
# you may not use this file except in compliance with the License.
|
# You may obtain a copy of the License at
|
#
|
# http://www.apache.org/licenses/LICENSE-2.0
|
#
|
# Unless required by applicable law or agreed to in writing, software
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# See the License for the specific language governing permissions and
|
# limitations under the License.
|
|
# Sample app that connects to an error-throwing implementation of
|
# Route Guide service.
|
#
|
# Usage: $ path/to/route_guide_client.rb
|
|
this_dir = File.expand_path(File.dirname(__FILE__))
|
lib_dir = File.join(File.dirname(this_dir), 'lib')
|
$LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
|
|
require 'grpc'
|
require 'route_guide_services_pb'
|
|
include Routeguide
|
|
def run_get_feature_expect_error(stub)
|
resp = stub.get_feature(Point.new)
|
end
|
|
def run_list_features_expect_error(stub)
|
resps = stub.list_features(Rectangle.new)
|
|
# NOOP iteration to pick up error
|
resps.each { }
|
end
|
|
def run_record_route_expect_error(stub)
|
stub.record_route([])
|
end
|
|
def run_route_chat_expect_error(stub)
|
resps = stub.route_chat([])
|
|
# NOOP iteration to pick up error
|
resps.each { }
|
end
|
|
def main
|
stub = RouteGuide::Stub.new('localhost:50051', :this_channel_is_insecure)
|
|
begin
|
run_get_feature_expect_error(stub)
|
rescue GRPC::BadStatus => e
|
puts "===== GetFeature exception: ====="
|
puts e.inspect
|
puts "e.code: #{e.code}"
|
puts "e.details: #{e.details}"
|
puts "e.metadata: #{e.metadata}"
|
puts "================================="
|
end
|
|
begin
|
run_list_features_expect_error(stub)
|
rescue GRPC::BadStatus => e
|
error = true
|
puts "===== ListFeatures exception: ====="
|
puts e.inspect
|
puts "e.code: #{e.code}"
|
puts "e.details: #{e.details}"
|
puts "e.metadata: #{e.metadata}"
|
puts "================================="
|
end
|
|
begin
|
run_route_chat_expect_error(stub)
|
rescue GRPC::BadStatus => e
|
puts "==== RouteChat exception: ===="
|
puts e.inspect
|
puts "e.code: #{e.code}"
|
puts "e.details: #{e.details}"
|
puts "e.metadata: #{e.metadata}"
|
puts "================================="
|
end
|
|
begin
|
run_record_route_expect_error(stub)
|
rescue GRPC::BadStatus => e
|
puts "==== RecordRoute exception: ===="
|
puts e.inspect
|
puts "e.code: #{e.code}"
|
puts "e.details: #{e.details}"
|
puts "e.metadata: #{e.metadata}"
|
puts "================================="
|
end
|
end
|
|
main
|