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

◆ CreateHttpClient()

static HttpClient System.Net.HttpWebRequest.CreateHttpClient ( HttpClientParameters parameters,
HttpWebRequest request )
inlinestaticprivate

Definition at line 1226 of file HttpWebRequest.cs.

1227 {
1228 HttpClient httpClient = null;
1229 try
1230 {
1233 socketsHttpHandler.AutomaticDecompression = parameters.AutomaticDecompression;
1234 socketsHttpHandler.Credentials = parameters.Credentials;
1235 socketsHttpHandler.AllowAutoRedirect = parameters.AllowAutoRedirect;
1236 socketsHttpHandler.MaxAutomaticRedirections = parameters.MaximumAutomaticRedirections;
1237 socketsHttpHandler.MaxResponseHeadersLength = parameters.MaximumResponseHeadersLength;
1238 socketsHttpHandler.PreAuthenticate = parameters.PreAuthenticate;
1239 httpClient.Timeout = parameters.Timeout;
1240 if (parameters.CookieContainer != null)
1241 {
1242 socketsHttpHandler.CookieContainer = parameters.CookieContainer;
1243 }
1244 else
1245 {
1247 }
1248 if (parameters.Proxy == null)
1249 {
1251 }
1252 else if (parameters.Proxy != WebRequest.GetSystemWebProxy())
1253 {
1254 socketsHttpHandler.Proxy = parameters.Proxy;
1255 }
1256 else
1257 {
1258 socketsHttpHandler.DefaultProxyCredentials = parameters.Proxy.Credentials;
1259 }
1260 if (parameters.ClientCertificates != null)
1261 {
1263 }
1266 RemoteCertificateValidationCallback rcvc = parameters.ServerCertificateValidationCallback;
1267 if (rcvc != null)
1268 {
1270 }
1272 {
1273 Socket socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
1274 try
1275 {
1276 socket.NoDelay = true;
1277 if (parameters.Async)
1278 {
1279 await socket.ConnectAsync(context.DnsEndPoint, cancellationToken).ConfigureAwait(continueOnCapturedContext: false);
1280 }
1281 else
1282 {
1283 using (cancellationToken.UnsafeRegister(delegate(object s)
1284 {
1285 ((Socket)s).Dispose();
1286 }, socket))
1287 {
1288 socket.Connect(context.DnsEndPoint);
1289 }
1290 cancellationToken.ThrowIfCancellationRequested();
1291 }
1292 if (parameters.ReadWriteTimeout > 0)
1293 {
1294 int sendTimeout = (socket.ReceiveTimeout = parameters.ReadWriteTimeout);
1296 }
1297 }
1298 catch
1299 {
1300 socket.Dispose();
1301 throw;
1302 }
1303 return new NetworkStream(socket, ownsSocket: true);
1304 };
1305 return httpClient;
1306 }
1307 catch
1308 {
1310 throw;
1311 }
1312 }
override void Dispose(bool disposing)

References System.Net.HttpWebRequest.HttpClientParameters.AllowAutoRedirect, System.Net.HttpWebRequest.HttpClientParameters.Async, System.Net.HttpWebRequest.HttpClientParameters.AutomaticDecompression, System.cancellationToken, System.Net.HttpWebRequest.HttpClientParameters.ClientCertificates, System.Net.HttpWebRequest.HttpClientParameters.CookieContainer, System.Net.IWebProxy.Credentials, System.Net.HttpWebRequest.HttpClientParameters.Credentials, System.Runtime.Serialization.Dictionary, System.Net.Sockets.NetworkStream.Dispose(), System.Net.Http.SocketsHttpConnectionContext.DnsEndPoint, System.Net.WebRequest.GetSystemWebProxy(), System.Net.HttpWebRequest.HttpClientParameters.MaximumAutomaticRedirections, System.Net.HttpWebRequest.HttpClientParameters.MaximumResponseHeadersLength, System.Net.HttpWebRequest.HttpClientParameters.PreAuthenticate, System.Net.HttpWebRequest.HttpClientParameters.Proxy, System.Net.HttpWebRequest.HttpClientParameters.ReadWriteTimeout, System.s, System.Net.HttpWebRequest.HttpClientParameters.ServerCertificateValidationCallback, System.Net.Sockets.Socket, System.Net.HttpWebRequest.HttpClientParameters.SslProtocols, and System.Net.HttpWebRequest.HttpClientParameters.Timeout.

Referenced by System.Net.HttpWebRequest.GetCachedOrCreateHttpClient().