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

◆ SendAsyncCore()

async ValueTask< HttpResponseMessage > System.Net.Http.DiagnosticsHandler.SendAsyncCore ( HttpRequestMessage request,
bool async,
CancellationToken cancellationToken )
inlineprivate

Definition at line 188 of file DiagnosticsHandler.cs.

189 {
190 if (request == null)
191 {
192 throw new ArgumentNullException("request", System.SR.net_http_handler_norequest);
193 }
194 if (request.WasRedirected())
195 {
197 if (propagatorFields != null)
198 {
200 foreach (HeaderDescriptor descriptor in array)
201 {
202 request.Headers.Remove(descriptor);
203 }
204 }
205 }
206 Activity activity2 = null;
208 if (!diagnosticListener.IsEnabled())
209 {
210 activity2 = new Activity("System.Net.Http.HttpRequestOut");
211 activity2.Start();
213 try
214 {
216 }
217 finally
218 {
219 activity2.Stop();
220 }
221 }
222 Guid loggingRequestId = Guid.Empty;
223 if (diagnosticListener.IsEnabled("System.Net.Http.HttpRequestOut", request))
224 {
225 activity2 = new Activity("System.Net.Http.HttpRequestOut");
226 if (diagnosticListener.IsEnabled("System.Net.Http.HttpRequestOut.Start"))
227 {
228 StartActivity(diagnosticListener, activity2, new ActivityStartData(request));
229 }
230 else
231 {
232 activity2.Start();
233 }
234 }
235 if (diagnosticListener.IsEnabled("System.Net.Http.Request"))
236 {
238 loggingRequestId = Guid.NewGuid();
239 Write(diagnosticListener, "System.Net.Http.Request", new RequestData(request, loggingRequestId, timestamp));
240 }
241 Activity current = Activity.Current;
242 if (current != null)
243 {
244 InjectHeaders(current, request);
245 }
246 HttpResponseMessage response = null;
247 TaskStatus taskStatus = TaskStatus.RanToCompletion;
248 try
249 {
252 return response;
253 }
254 catch (OperationCanceledException)
255 {
256 taskStatus = TaskStatus.Canceled;
257 throw;
258 }
259 catch (Exception exception)
260 {
261 taskStatus = TaskStatus.Faulted;
262 if (diagnosticListener.IsEnabled("System.Net.Http.Exception"))
263 {
264 Write(diagnosticListener, "System.Net.Http.Exception", new ExceptionData(exception, request));
265 }
266 throw;
267 }
268 finally
269 {
270 if (activity2 != null)
271 {
272 StopActivity(diagnosticListener, activity2, new ActivityStopData(response, request, taskStatus));
273 }
274 if (diagnosticListener.IsEnabled("System.Net.Http.Response"))
275 {
277 Write(diagnosticListener, "System.Net.Http.Response", new ResponseData(response, loggingRequestId, timestamp2, taskStatus));
278 }
279 }
280 }
bool ICollection< KeyValuePair< TKey, TValue > >. Remove(KeyValuePair< TKey, TValue > keyValuePair)
static ? Activity Current
Definition Activity.cs:662
void InjectHeaders(Activity currentActivity, HttpRequestMessage request)
readonly HeaderDescriptor[] _propagatorFields
static readonly DiagnosticListener s_diagnosticListener
readonly HttpMessageHandler _innerHandler
Task< HttpResponseMessage > SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
virtual HttpResponseMessage Send(HttpRequestMessage request, CancellationToken cancellationToken)
static string net_http_handler_norequest
Definition SR.cs:70
Definition SR.cs:7
new ConfiguredTaskAwaitable< TResult > ConfigureAwait(bool continueOnCapturedContext)
Definition Task.cs:226

References System.Net.Http.DiagnosticsHandler._innerHandler, System.Net.Http.DiagnosticsHandler._propagatorFields, System.array, System.cancellationToken, System.Threading.Tasks.Task< TResult >.ConfigureAwait(), System.Diagnostics.Activity.Current, System.Guid.Empty, System.exception, System.Diagnostics.Stopwatch.GetTimestamp(), System.Net.Http.DiagnosticsHandler.InjectHeaders(), System.SR.net_http_handler_norequest, System.Guid.NewGuid(), System.Collections.Generic.Dictionary< TKey, TValue >.Remove(), System.Net.Http.DiagnosticsHandler.s_diagnosticListener, System.Net.Http.HttpMessageHandler.Send(), and System.Net.Http.HttpMessageHandler.SendAsync().

Referenced by System.Net.Http.DiagnosticsHandler.SendAsync().