Skip to content

Commit 34175b4

Browse files
committed
Receive do while (nats-io#804)
1 parent b6edd5f commit 34175b4

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

Diff for: src/NATS.Client.Core/Internal/TcpConnection.cs

+9-2
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,15 @@ public async ValueTask ConnectAsync(string host, int port, NatsOpts opts)
8989

9090
// Validate proxy response
9191
var receiveBuffer = new byte[4096];
92-
var read = await ReceiveAsync(receiveBuffer).ConfigureAwait(false);
93-
var response = Encoding.UTF8.GetString(receiveBuffer, 0, read);
92+
var responseBuilder = new StringBuilder();
93+
int read;
94+
do
95+
{
96+
read = await ReceiveAsync(receiveBuffer).ConfigureAwait(false);
97+
responseBuilder.Append(Encoding.UTF8.GetString(receiveBuffer, 0, read));
98+
} while (read > 0 && !responseBuilder.ToString().Contains("\r\n\r\n"));
99+
100+
var response = responseBuilder.ToString();
94101
if (!response.Contains("200 Connection established"))
95102
throw new Exception($"Proxy connection failed. Response: {response}");
96103
}

0 commit comments

Comments
 (0)