Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ TrySendUsingHttp3Async()

async ValueTask< HttpResponseMessage > System.Net.Http.HttpConnectionPool.TrySendUsingHttp3Async ( HttpRequestMessage request,
bool async,
CancellationToken cancellationToken )
inlineprivate

Definition at line 745 of file HttpConnectionPool.cs.

746 {
747 HttpResponseMessage httpResponseMessage;
748 while (true)
749 {
750 HttpAuthority httpAuthority = _http3Authority;
751 if (request.Version.Major >= 3 && request.VersionPolicy != 0 && httpAuthority == null)
752 {
754 }
755 if (httpAuthority == null)
756 {
757 return null;
758 }
760 {
762 }
765 if (httpResponseMessage.StatusCode != HttpStatusCode.MisdirectedRequest || connection.Authority == _originAuthority)
766 {
767 break;
768 }
769 httpResponseMessage.Dispose();
770 BlocklistAuthority(connection.Authority);
771 }
772 return httpResponseMessage;
773 }
static void ThrowGetVersionException(HttpRequestMessage request, int desiredVersion)
async ValueTask< Http3Connection > GetHttp3ConnectionAsync(HttpRequestMessage request, HttpAuthority authority, CancellationToken cancellationToken)
void BlocklistAuthority(HttpAuthority badAuthority)
bool IsAltSvcBlocked(HttpAuthority authority)

References System.Net.Http.HttpConnectionPool._http3Authority, System.Net.Http.HttpConnectionPool._originAuthority, System.Net.Http.Http3Connection.Authority, System.Net.Http.HttpConnectionPool.BlocklistAuthority(), System.cancellationToken, System.Net.Http.HttpConnectionPool.GetHttp3ConnectionAsync(), System.Net.Http.HttpConnectionPool.IsAltSvcBlocked(), System.Net.Http.Http3Connection.SendAsync(), and System.Net.Http.HttpConnectionPool.ThrowGetVersionException().

Referenced by System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync().