| 
					
				 | 
			
			
				@@ -368,8 +368,11 @@ Server::GenericAsyncRequest::GenericAsyncRequest( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 bool Server::GenericAsyncRequest::FinalizeResult(void** tag, bool* status) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // TODO(yangg) remove the copy here. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  static_cast<GenericServerContext*>(context_)->method_ = call_details_.method; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  static_cast<GenericServerContext*>(context_)->host_ = call_details_.host; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (*status) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    static_cast<GenericServerContext*>(context_)->method_ = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        call_details_.method; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    static_cast<GenericServerContext*>(context_)->host_ = call_details_.host; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_free(call_details_.method); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_free(call_details_.host); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return BaseAsyncRequest::FinalizeResult(tag, status); 
			 |