/// <summary>
 /// Gets the azure async operation header.
 /// </summary>
 /// <param name="headers">The HTTP response headers.</param>
 public static Uri GetAzureAsyncOperation(this HttpResponseHeaders headers)
 {
     return(headers.GetFirstOrDefault("Azure-AsyncOperation", value =>
     {
         Uri uri;
         if (Uri.TryCreate(value, UriKind.Absolute, out uri))
         {
             return uri;
         }
         return null;
     }));
 }
        /// <summary>
        /// Gets the azure async operation percent complete header.
        /// </summary>
        /// <param name="headers">The HTTP response headers.</param>
        public static double?GetAzureAzyncOperationPercentComplete(this HttpResponseHeaders headers)
        {
            return(headers.GetFirstOrDefault(
                       "Azure-AsyncOperationPercentComplete",
                       (value) =>
            {
                double percentComplete;
                if (double.TryParse(value, out percentComplete))
                {
                    return (double?)percentComplete;
                }

                return null;
            }));
        }