private async Task <string> GetTcpResponseAsync(TcpClient client, CancellationToken cancellationToken) { NetworkStream networkStream = client.GetStream(); byte[] readBuffer = new byte[1024]; StringBuilder stringBuilder = new StringBuilder(); // Incoming message may be larger than the buffer size. do { int numberOfBytesRead = await networkStream.ReadAsync(readBuffer, 0, readBuffer.Length, cancellationToken) .ConfigureAwait(false); string s = Encoding.ASCII.GetString(readBuffer, 0, numberOfBytesRead); stringBuilder.Append(s); }while (networkStream.DataAvailable); string response = stringBuilder.ToString(); _logger.VerbosePii("TcpInterceptor: Message received - " + response, "TcpInterceptor: Message received. Size: " + response.Length); return(response); }