|  | @@ -151,12 +151,12 @@ namespace Grpc.Core
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              private class ClientBaseConfigurationInterceptor : Interceptor
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                readonly Func<IMethod, string, CallOptions, Tuple<string, CallOptions>> interceptor;
 | 
	
		
			
				|  |  | +                readonly Func<IMethod, string, CallOptions, ClientBaseConfigurationInfo> interceptor;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  /// <summary>
 | 
	
		
			
				|  |  |                  /// Creates a new instance of ClientBaseConfigurationInterceptor given the specified header and host interceptor function.
 | 
	
		
			
				|  |  |                  /// </summary>
 | 
	
		
			
				|  |  | -                public ClientBaseConfigurationInterceptor(Func<IMethod, string, CallOptions, Tuple<string, CallOptions>> interceptor)
 | 
	
		
			
				|  |  | +                public ClientBaseConfigurationInterceptor(Func<IMethod, string, CallOptions, ClientBaseConfigurationInfo> interceptor)
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  |                      this.interceptor = GrpcPreconditions.CheckNotNull(interceptor, nameof(interceptor));
 | 
	
		
			
				|  |  |                  }
 | 
	
	
		
			
				|  | @@ -166,7 +166,7 @@ namespace Grpc.Core
 | 
	
		
			
				|  |  |                      where TResponse : class
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  |                      var newHostAndCallOptions = interceptor(context.Method, context.Host, context.Options);
 | 
	
		
			
				|  |  | -                    return new ClientInterceptorContext<TRequest, TResponse>(context.Method, newHostAndCallOptions.Item1, newHostAndCallOptions.Item2);
 | 
	
		
			
				|  |  | +                    return new ClientInterceptorContext<TRequest, TResponse>(context.Method, newHostAndCallOptions.Host, newHostAndCallOptions.CallOptions);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  public override TResponse BlockingUnaryCall<TRequest, TResponse>(TRequest request, ClientInterceptorContext<TRequest, TResponse> context, BlockingUnaryCallContinuation<TRequest, TResponse> continuation)
 | 
	
	
		
			
				|  | @@ -195,6 +195,18 @@ namespace Grpc.Core
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +            internal struct ClientBaseConfigurationInfo
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                internal readonly string Host;
 | 
	
		
			
				|  |  | +                internal readonly CallOptions CallOptions;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                internal ClientBaseConfigurationInfo(string host, CallOptions callOptions)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    Host = host;
 | 
	
		
			
				|  |  | +                    CallOptions = callOptions;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              readonly CallInvoker undecoratedCallInvoker;
 | 
	
		
			
				|  |  |              readonly string host;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -206,7 +218,7 @@ namespace Grpc.Core
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              internal CallInvoker CreateDecoratedCallInvoker()
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                return undecoratedCallInvoker.Intercept(new ClientBaseConfigurationInterceptor((method, host, options) => Tuple.Create(this.host, options)));
 | 
	
		
			
				|  |  | +                return undecoratedCallInvoker.Intercept(new ClientBaseConfigurationInterceptor((method, host, options) => new ClientBaseConfigurationInfo(this.host, options)));
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              internal ClientBaseConfiguration WithHost(string host)
 |