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

◆ AddHttp2ConnectionAsync()

async Task System.Net.Http.HttpConnectionPool.AddHttp2ConnectionAsync ( HttpRequestMessage request)
inlineprivate

Definition at line 526 of file HttpConnectionPool.cs.

527 {
528 if (System.Net.NetEventSource.Log.IsEnabled())
529 {
530 Trace("Creating new HTTP/2 connection for pool.", "AddHttp2ConnectionAsync");
531 }
532 Http2Connection connection;
534 {
535 _ = 3;
536 try
537 {
539 if (IsSecure)
540 {
542 if (!(sslStream.NegotiatedApplicationProtocol == SslApplicationProtocol.Http2))
543 {
545 return;
546 }
547 if (sslStream.SslProtocol < SslProtocols.Tls12)
548 {
549 stream.Dispose();
550 throw new HttpRequestException(System.SR.Format(System.SR.net_ssl_http2_requires_tls12, sslStream.SslProtocol));
551 }
553 }
554 else
555 {
557 }
558 }
559 catch (OperationCanceledException ex) when (ex.CancellationToken == cts.Token)
560 {
562 return;
563 }
564 catch (Exception e)
565 {
567 return;
568 }
569 }
570 ValueTask valueTask = connection.WaitForShutdownAsync();
573 InvalidateHttp2Connection(connection);
574 }
static Exception CreateConnectTimeoutException(OperationCanceledException oce)
async Task HandleHttp11Downgrade(HttpRequestMessage request, Socket socket, Stream stream, TransportContext transportContext, CancellationToken cancellationToken)
CancellationTokenSource GetConnectTimeoutCancellationTokenSource()
async ValueTask<(Socket, Stream, TransportContext)> ConnectAsync(HttpRequestMessage request, bool async, CancellationToken cancellationToken)
void InvalidateHttp2Connection(Http2Connection connection)
void Trace(string message, [CallerMemberName] string memberName=null)
void ReturnHttp2Connection(Http2Connection connection, bool isNewConnection)
async ValueTask< Http2Connection > ConstructHttp2ConnectionAsync(Stream stream, HttpRequestMessage request, CancellationToken cancellationToken)
static readonly System.Net.NetEventSource Log
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string net_ssl_http2_requires_tls12
Definition SR.cs:142
Definition SR.cs:7
static readonly SslApplicationProtocol Http2

References System.Net.Http.HttpConnectionPool.ConnectAsync(), System.Net.Http.HttpConnectionPool.ConstructHttp2ConnectionAsync(), System.Net.Http.HttpConnectionPool.CreateConnectTimeoutException(), System.SR.Format(), System.Net.Http.HttpConnectionPool.GetConnectTimeoutCancellationTokenSource(), System.Net.Http.HttpConnectionPool.HandleHttp11Downgrade(), System.Net.Http.HttpConnectionPool.HandleHttp2ConnectionFailure(), System.Net.Security.SslApplicationProtocol.Http2, System.Net.Http.HttpConnectionPool.InvalidateHttp2Connection(), System.Net.Http.HttpConnectionPool.IsSecure, System.Net.NetEventSource.Log, System.SR.net_ssl_http2_requires_tls12, System.Net.Http.HttpConnectionPool.ReturnHttp2Connection(), System.stream, System.Net.Http.HttpConnectionPool.Trace(), and System.Net.Http.Http2Connection.WaitForShutdownAsync().

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