<PackageReference Include="Azure.Storage.Common" Version="12.22.0-beta.2" />

StorageResponseClassifier

using Azure.Core; using System; namespace Azure.Storage { internal class StorageResponseClassifier { public Uri SecondaryStorageUri { get; set; } public override bool IsRetriableResponse(HttpMessage message) { if (SecondaryStorageUri != (Uri)null && message.get_Request().get_Uri().get_Host() == SecondaryStorageUri.Host && message.get_Response().get_Status() == 404) return true; if (message.get_Response().get_Status() >= 400) { ResponseHeaders headers = message.get_Response().get_Headers(); string a = default(string); if (headers.TryGetValue("x-ms-error-code", ref a) && (a == "InternalError" || a == "OperationTimedOut" || a == "ServerBusy")) return true; } return this.IsRetriableResponse(message); } public override bool IsErrorResponse(HttpMessage message) { if (message.get_Response().get_Status() == 409) { RequestHeaders headers = message.get_Request().get_Headers(); ResponseHeaders headers2 = message.get_Response().get_Headers(); string a = default(string); if (headers2.TryGetValue("x-ms-error-code", ref a) && (a == "ContainerAlreadyExists" || a == "BlobAlreadyExists")) return !headers.Contains(Names.get_IfMatch()) && !headers.Contains(Names.get_IfNoneMatch()) && !headers.Contains(Names.get_IfModifiedSince()) && !headers.Contains(Names.get_IfUnmodifiedSince()); } return this.IsErrorResponse(message); } public StorageResponseClassifier() : this() { } } }