public static string GetClientAppId()

in src/Azure.Deployments.Extensibility.AspNetCore/Extensions/HttpContextExtensions.cs [28:57]


        public static string GetClientAppId(this HttpContext httpContext) =>
            httpContext.GetCorrelationHeaderItem(nameof(RequestHeaderNames.ClientAppId));

        public static string GetClientRequestId(this HttpContext httpContext) =>
            httpContext.GetCorrelationHeaderItem(nameof(RequestHeaderNames.ClientRequestId));

        public static string GetCorrelationRequestId(this HttpContext httpContext) =>
            httpContext.GetCorrelationHeaderItem(nameof(RequestHeaderNames.CorrelationRequestId));

        public static string GetRequestId(this HttpContext httpContext) =>
            httpContext.GetCorrelationHeaderItem(nameof(ResponseHeaderNames.RequestId));

        private static void SetRequestCorrelationHeaderItem(this HttpContext httpContext, string headerName, string itemName)
        {
            if (httpContext.Request.Headers.TryGetValue(headerName, out var value))
            {
                if (Guid.TryParse(value, out var clientRequestId))
                {
                    httpContext.Items[itemName] = clientRequestId.ToString();
                }
                else
                {
                    httpContext.Items[itemName] = $"<invalid: {value}>";
                }
            }
            else
            {
                httpContext.Items[itemName] = "<missing>";
            }
        }