in sdk/src/Handlers/System.Net/Utils/RequestUtil.cs [62:92]
private static void ProcessRequest(Uri uri, string method, Action<string> addHeaderAction, bool sanitizeHttpRequestTracing)
{
if (AWSXRayRecorder.Instance.IsTracingDisabled())
{
_logger.DebugFormat("Tracing is disabled. Not starting a subsegment on HTTP request.");
return;
}
var recorder = AWSXRayRecorder.Instance;
recorder.BeginSubsegment(uri.Host);
recorder.SetNamespace("remote");
var requestInformation = new Dictionary<string, object>
{
["url"] = sanitizeHttpRequestTracing ? uri.AbsoluteUri.Split(new[] { '?' })[0] : uri.AbsoluteUri,
["method"] = method
};
recorder.AddHttpInformation("request", requestInformation);
try
{
if (TraceHeader.TryParse(recorder.GetEntity(), out var header))
{
addHeaderAction(header.ToString());
}
}
catch (EntityNotAvailableException e)
{
recorder.TraceContext.HandleEntityMissing(recorder,e, "Failed to get entity since it is not available in trace context while processing http request.");
}
}