From bee9325d56956322f9116d544bac250ad3248307 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Tue, 12 May 2015 14:16:33 -0700 Subject: [PATCH] Make sure full method name starts with slash --- src/csharp/Grpc.Core/Call.cs | 2 +- src/csharp/Grpc.Core/Method.cs | 9 +++++++++ src/csharp/Grpc.Core/ServerServiceDefinition.cs | 13 ++++--------- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/csharp/Grpc.Core/Call.cs b/src/csharp/Grpc.Core/Call.cs index 771cc083dae..d1ee59ff0a0 100644 --- a/src/csharp/Grpc.Core/Call.cs +++ b/src/csharp/Grpc.Core/Call.cs @@ -52,7 +52,7 @@ namespace Grpc.Core public Call(string serviceName, Method method, Channel channel, Metadata headers) { - this.name = Preconditions.CheckNotNull(serviceName) + "/" + method.Name; + this.name = method.GetFullName(serviceName); this.requestMarshaller = method.RequestMarshaller; this.responseMarshaller = method.ResponseMarshaller; this.channel = Preconditions.CheckNotNull(channel); diff --git a/src/csharp/Grpc.Core/Method.cs b/src/csharp/Grpc.Core/Method.cs index 156e780c7dd..77d36191c3e 100644 --- a/src/csharp/Grpc.Core/Method.cs +++ b/src/csharp/Grpc.Core/Method.cs @@ -32,6 +32,7 @@ #endregion using System; +using Grpc.Core.Utils; namespace Grpc.Core { @@ -95,5 +96,13 @@ namespace Grpc.Core return this.responseMarshaller; } } + + /// + /// Gets full name of the method including the service name. + /// + internal string GetFullName(string serviceName) + { + return "/" + Preconditions.CheckNotNull(serviceName) + "/" + this.Name; + } } } diff --git a/src/csharp/Grpc.Core/ServerServiceDefinition.cs b/src/csharp/Grpc.Core/ServerServiceDefinition.cs index 81846beb2f7..b180186c128 100644 --- a/src/csharp/Grpc.Core/ServerServiceDefinition.cs +++ b/src/csharp/Grpc.Core/ServerServiceDefinition.cs @@ -79,7 +79,7 @@ namespace Grpc.Core where TRequest : class where TResponse : class { - callHandlers.Add(GetFullMethodName(serviceName, method.Name), ServerCalls.UnaryCall(method, handler)); + callHandlers.Add(method.GetFullName(serviceName), ServerCalls.UnaryCall(method, handler)); return this; } @@ -89,7 +89,7 @@ namespace Grpc.Core where TRequest : class where TResponse : class { - callHandlers.Add(GetFullMethodName(serviceName, method.Name), ServerCalls.ClientStreamingCall(method, handler)); + callHandlers.Add(method.GetFullName(serviceName), ServerCalls.ClientStreamingCall(method, handler)); return this; } @@ -99,7 +99,7 @@ namespace Grpc.Core where TRequest : class where TResponse : class { - callHandlers.Add(GetFullMethodName(serviceName, method.Name), ServerCalls.ServerStreamingCall(method, handler)); + callHandlers.Add(method.GetFullName(serviceName), ServerCalls.ServerStreamingCall(method, handler)); return this; } @@ -109,7 +109,7 @@ namespace Grpc.Core where TRequest : class where TResponse : class { - callHandlers.Add(GetFullMethodName(serviceName, method.Name), ServerCalls.DuplexStreamingCall(method, handler)); + callHandlers.Add(method.GetFullName(serviceName), ServerCalls.DuplexStreamingCall(method, handler)); return this; } @@ -117,11 +117,6 @@ namespace Grpc.Core { return new ServerServiceDefinition(callHandlers.ToImmutableDictionary()); } - - private string GetFullMethodName(string serviceName, string methodName) - { - return serviceName + "/" + methodName; - } } } }