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

◆ GetStreamAsyncCore()

async Task< Stream > System.Net.Http.HttpClient.GetStreamAsyncCore ( HttpRequestMessage request,
CancellationToken cancellationToken )
inlineprivate

Definition at line 327 of file HttpClient.cs.

328 {
329 bool telemetryStarted = StartSend(request);
331 CancellationTokenSource cts = tuple.Item1;
332 bool disposeCts = tuple.Item2;
333 CancellationTokenSource pendingRequestsCts = tuple.Item3;
334 HttpResponseMessage response = null;
335 try
336 {
337 response = await base.SendAsync(request, cts.Token).ConfigureAwait(continueOnCapturedContext: false);
338 ThrowForNullResponse(response);
339 response.EnsureSuccessStatusCode();
340 HttpContent content = response.Content;
341 Stream stream = content.TryReadAsStream();
342 Stream stream2 = stream;
343 if (stream2 == null)
344 {
345 stream2 = await content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(continueOnCapturedContext: false);
346 }
347 return stream2;
348 }
349 catch (Exception e)
350 {
351 HandleFailure(e, telemetryStarted, response, cts, cancellationToken, pendingRequestsCts);
352 throw;
353 }
354 finally
355 {
356 FinishSend(cts, disposeCts, telemetryStarted, responseContentTelemetryStarted: false);
357 }
358 }
static void FinishSend(CancellationTokenSource cts, bool disposeCts, bool telemetryStarted, bool responseContentTelemetryStarted)
void HandleFailure(Exception e, bool telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
CancellationTokenSource bool CancellationTokenSource PendingRequestsCts PrepareCancellationTokenSource(CancellationToken cancellationToken)
static void ThrowForNullResponse([NotNull] HttpResponseMessage response)
static bool StartSend(HttpRequestMessage request)

References System.cancellationToken, System.Net.Http.HttpResponseMessage.Content, System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode(), System.Net.Http.HttpClient.FinishSend(), System.Net.Http.HttpClient.HandleFailure(), System.Net.Http.HttpClient.PrepareCancellationTokenSource(), System.Net.Http.HttpContent.ReadAsStreamAsync(), System.Net.Http.HttpClient.StartSend(), System.stream, System.Net.Http.HttpClient.ThrowForNullResponse(), System.Threading.CancellationTokenSource.Token, and System.Net.Http.HttpContent.TryReadAsStream().

Referenced by System.Net.Http.HttpClient.GetStreamAsync().