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

◆ GetConnectionKey()

HttpConnectionKey System.Net.Http.HttpConnectionPoolManager.GetConnectionKey ( HttpRequestMessage request,
Uri proxyUri,
bool isProxyConnect )
inlineprivate

Definition at line 226 of file HttpConnectionPoolManager.cs.

227 {
228 Uri requestUri = request.RequestUri;
229 if (isProxyConnect)
230 {
232 }
233 string text = null;
234 if (HttpUtilities.IsSupportedSecureScheme(requestUri.Scheme))
235 {
236 string host = request.Headers.Host;
237 text = ((host == null) ? requestUri.IdnHost : ParseHostNameFromHeader(host));
238 }
240 if (proxyUri != null)
241 {
242 if (HttpUtilities.IsSocksScheme(proxyUri.Scheme))
243 {
244 if (text != null)
245 {
246 return new HttpConnectionKey(HttpConnectionKind.SslSocksTunnel, requestUri.IdnHost, requestUri.Port, text, proxyUri, identityIfDefaultCredentialsUsed);
247 }
248 return new HttpConnectionKey(HttpConnectionKind.SocksTunnel, requestUri.IdnHost, requestUri.Port, null, proxyUri, identityIfDefaultCredentialsUsed);
249 }
250 if (text == null)
251 {
252 if (HttpUtilities.IsNonSecureWebSocketScheme(requestUri.Scheme))
253 {
254 return new HttpConnectionKey(HttpConnectionKind.ProxyTunnel, requestUri.IdnHost, requestUri.Port, null, proxyUri, identityIfDefaultCredentialsUsed);
255 }
256 return new HttpConnectionKey(HttpConnectionKind.Proxy, null, 0, null, proxyUri, identityIfDefaultCredentialsUsed);
257 }
258 return new HttpConnectionKey(HttpConnectionKind.SslProxyTunnel, requestUri.IdnHost, requestUri.Port, text, proxyUri, identityIfDefaultCredentialsUsed);
259 }
260 if (text != null)
261 {
262 return new HttpConnectionKey(HttpConnectionKind.Https, requestUri.IdnHost, requestUri.Port, text, null, identityIfDefaultCredentialsUsed);
263 }
264 return new HttpConnectionKey(HttpConnectionKind.Http, requestUri.IdnHost, requestUri.Port, null, null, identityIfDefaultCredentialsUsed);
265 }
static string ParseHostNameFromHeader(string hostHeader)
static string GetIdentityIfDefaultCredentialsUsed(bool defaultCredentialsUsed)

References System.Net.Http.HttpConnectionSettings._defaultCredentialsUsedForProxy, System.Net.Http.HttpConnectionSettings._defaultCredentialsUsedForServer, System.Net.Http.HttpConnectionPoolManager._settings, System.Net.Http.HttpConnectionPoolManager.GetIdentityIfDefaultCredentialsUsed(), System.Net.Http.HttpUtilities.IsNonSecureWebSocketScheme(), System.Net.Http.HttpUtilities.IsSocksScheme(), System.Net.Http.HttpUtilities.IsSupportedSecureScheme(), System.Net.Http.HttpConnectionPoolManager.ParseHostNameFromHeader(), and System.text.

Referenced by System.Net.Http.HttpConnectionPoolManager.SendAsyncCore().