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

◆ ConnectAsync()

async ValueTask<(Socket, Stream, TransportContext)> System.Net.Http.HttpConnectionPool.ConnectAsync ( HttpRequestMessage request,
bool async,
CancellationToken cancellationToken )
inlineprivate

Definition at line 1082 of file HttpConnectionPool.cs.

1083 {
1084 Stream stream = null;
1085 Socket socket = null;
1086 switch (_kind)
1087 {
1088 case HttpConnectionKind.Http:
1089 case HttpConnectionKind.Https:
1090 case HttpConnectionKind.ProxyConnect:
1092 break;
1093 case HttpConnectionKind.Proxy:
1095 break;
1096 case HttpConnectionKind.ProxyTunnel:
1097 case HttpConnectionKind.SslProxyTunnel:
1099 break;
1100 case HttpConnectionKind.SocksTunnel:
1101 case HttpConnectionKind.SslSocksTunnel:
1103 break;
1104 }
1106 {
1107 socket = networkStream.Socket;
1108 }
1109 TransportContext item = null;
1110 if (IsSecure)
1111 {
1112 SslStream sslStream = await ConnectHelper.EstablishSslConnectionAsync(GetSslOptionsForRequest(request), request, async, stream, cancellationToken).ConfigureAwait(continueOnCapturedContext: false);
1113 item = sslStream.TransportContext;
1114 stream = sslStream;
1115 }
1116 return (socket, stream, item);
1117 }
async ValueTask<(Socket, Stream)> ConnectToTcpHostAsync(string host, int port, HttpRequestMessage initialRequest, bool async, CancellationToken cancellationToken)
readonly HttpConnectionKind _kind
async ValueTask< Stream > EstablishProxyTunnelAsync(bool async, HttpRequestHeaders headers, CancellationToken cancellationToken)
SslClientAuthenticationOptions GetSslOptionsForRequest(HttpRequestMessage request)
async ValueTask<(Socket socket, Stream stream)> EstablishSocksTunnel(HttpRequestMessage request, bool async, CancellationToken cancellationToken)
string IdnHost
Definition Uri.cs:537
int Port
Definition Uri.cs:453

References System.Net.Http.HttpConnectionPool._kind, System.Net.Http.HttpConnectionPool._originAuthority, System.Net.Http.HttpConnectionPool._proxyUri, System.cancellationToken, System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(), System.Net.Http.HttpConnectionPool.EstablishProxyTunnelAsync(), System.Net.Http.HttpConnectionPool.EstablishSocksTunnel(), System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(), System.Net.Http.HttpConnectionPool.GetSslOptionsForRequest(), System.Net.Http.HttpAuthority.IdnHost, System.Uri.IdnHost, System.Net.Http.HttpConnectionPool.IsSecure, System.item, System.Net.Http.HttpAuthority.Port, System.Uri.Port, and System.stream.

Referenced by System.Net.Http.HttpConnectionPool.AddHttp2ConnectionAsync(), and System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync().