public static ErrorResponse HandleAzureException()

in Notation.Plugin.AzureKeyVault/Program.cs [37:67]


        public static ErrorResponse HandleAzureException(Azure.RequestFailedException e)
        {
            var rawResponse = e.GetRawResponse();
            if (rawResponse != null)
            {
                try
                {
                    var content = JsonDocument.Parse(rawResponse.Content);
                    if (content.RootElement.TryGetProperty("error", out var errorInfo) &&
                            errorInfo.TryGetProperty("message", out var errMsg))
                    {
                        var errorMessage = errMsg.GetString();
                        if (!string.IsNullOrEmpty(errorMessage))
                        {
                            return new ErrorResponse(
                                errorCode: e.ErrorCode ?? Error.ERROR,
                                errorMessage: errorMessage);
                        }
                    }
                }
                catch (Exception)
                {
                    // ignore
                }
            }

            // fallback to default error message
            return new ErrorResponse(
                errorCode: e.ErrorCode ?? Error.ERROR,
                errorMessage: e.Message);
        }