Module: Protocol::GRPC::Route
- Defined in:
- lib/protocol/grpc/route.rb
Overview
Provides operations for parsing and building gRPC request paths.
Class Method Summary collapse
-
.build(service_name, method_name) ⇒ Object
Build a gRPC request path from its service and method names.
-
.parse(path) ⇒ Object
Parse a gRPC request path into its service and method names.
Class Method Details
.build(service_name, method_name) ⇒ Object
Build a gRPC request path from its service and method names.
35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/protocol/grpc/route.rb', line 35 def self.build(service_name, method_name) unless service_name.is_a?(String) && SERVICE_PATTERN.match?(service_name) raise ArgumentError, "Invalid gRPC service name: #{service_name.inspect}" end unless method_name.is_a?(String) && METHOD_PATTERN.match?(method_name) raise ArgumentError, "Invalid gRPC method name: #{method_name.inspect}" end "/#{service_name}/#{method_name}" end |
.parse(path) ⇒ Object
Parse a gRPC request path into its service and method names.
20 21 22 23 24 25 26 27 28 |
# File 'lib/protocol/grpc/route.rb', line 20 def self.parse(path) match = PATTERN.match(path) if path.is_a?(String) unless match raise ArgumentError, "Invalid gRPC route: #{path.inspect}" end [match[1], match[2]] end |