diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/ResponseUtils.cs b/test/Microsoft.AspNetCore.SignalR.Client.Tests/ResponseUtils.cs index 16be3eb2fd..a4d10977dc 100644 --- a/test/Microsoft.AspNetCore.SignalR.Client.Tests/ResponseUtils.cs +++ b/test/Microsoft.AspNetCore.SignalR.Client.Tests/ResponseUtils.cs @@ -34,7 +34,19 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests public static bool IsNegotiateRequest(HttpRequestMessage request) { return request.Method == HttpMethod.Post && - new UriBuilder(request.RequestUri).Path.EndsWith("/negotiate"); + new UriBuilder(request.RequestUri).Path.EndsWith("/negotiate"); + } + + public static bool IsLongPollRequest(HttpRequestMessage request) + { + return request.Method == HttpMethod.Get && + (request.RequestUri.PathAndQuery.Contains("?id=") || request.RequestUri.PathAndQuery.Contains("&id=")); + } + + public static bool IsSocketSendRequest(HttpRequestMessage request) + { + return request.Method == HttpMethod.Post && + (request.RequestUri.PathAndQuery.Contains("?id=") || request.RequestUri.PathAndQuery.Contains("&id=")); } public static string CreateNegotiationContent(string connectionId = "00000000-0000-0000-0000-000000000000", diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestHttpMessageHandler.cs b/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestHttpMessageHandler.cs index 4c8c2ab035..c0b6d67bae 100644 --- a/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestHttpMessageHandler.cs +++ b/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestHttpMessageHandler.cs @@ -98,7 +98,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests { OnRequest((request, next, cancellationToken) => { - if (request.Method.Equals(HttpMethod.Get) && request.RequestUri.PathAndQuery.StartsWith("/?id=")) + if (ResponseUtils.IsLongPollRequest(request)) { return handler(cancellationToken); } @@ -115,7 +115,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests { OnRequest(async (request, next, cancellationToken) => { - if (request.Method.Equals(HttpMethod.Post) && request.RequestUri.PathAndQuery.StartsWith("/?id=")) + if (ResponseUtils.IsSocketSendRequest(request)) { var data = await request.Content.ReadAsByteArrayAsync(); return await handler(data, cancellationToken);