|  | @@ -140,9 +140,12 @@ func transferResponse(timer signal.ActivityTimer, session *encoding.ServerSessio
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	bodyWriter := session.EncodeResponseBody(request, output)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	mergeReader := buf.NewMergingReader(input)
 | 
	
		
			
				|  |  | +	var reader buf.Reader = input
 | 
	
		
			
				|  |  | +	if request.Command == protocol.RequestCommandTCP {
 | 
	
		
			
				|  |  | +		reader = buf.NewMergingReader(input)
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  	// Optimize for small response packet
 | 
	
		
			
				|  |  | -	data, err := mergeReader.Read()
 | 
	
		
			
				|  |  | +	data, err := reader.Read()
 | 
	
		
			
				|  |  |  	if err != nil {
 | 
	
		
			
				|  |  |  		return err
 | 
	
		
			
				|  |  |  	}
 | 
	
	
		
			
				|  | @@ -158,7 +161,7 @@ func transferResponse(timer signal.ActivityTimer, session *encoding.ServerSessio
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	if err := buf.PipeUntilEOF(timer, mergeReader, bodyWriter); err != nil {
 | 
	
		
			
				|  |  | +	if err := buf.PipeUntilEOF(timer, reader, bodyWriter); err != nil {
 | 
	
		
			
				|  |  |  		return err
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 |