private static Dictionary PopulateRequestAttributes()

in src/sdk/Utils/AspNetCoreRequestUtil.cs [127:155]


        private static Dictionary<string, object> PopulateRequestAttributes(HttpRequest request)
        {
            var requestAttributes = new Dictionary<string, object>();

            requestAttributes["url"] = GetUrl(request);
            requestAttributes["method"] = request.Method;
            string xForwardedFor = GetXForwardedFor(request);

            if (xForwardedFor == null)
            {
                requestAttributes["client_ip"] = GetClientIpAddress(request);
            }
            else
            {
                requestAttributes["client_ip"] = xForwardedFor;
                // If it's outer Proxy, add "X-Forwarded-For: true" in the trace context.
                if (IsOuterProxy(request))
                {
                    requestAttributes["x_forwarded_for"] = true;
                }
            }

            if (request.Headers.ContainsKey(HeaderNames.UserAgent))
            {
                requestAttributes["user_agent"] = request.Headers[HeaderNames.UserAgent].ToString();
            }

            return requestAttributes;
        }