<PackageReference Include="Azure.Storage.Blobs" Version="12.25.0" />

AzureSasCredentialSynchronousPolicy

using Azure.Core; using System; using System.Runtime.CompilerServices; namespace Azure.Storage.Common { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] internal class AzureSasCredentialSynchronousPolicy { [System.Runtime.CompilerServices.NullableContext(0)] private class AzureSasSignatureHistory { } private readonly AzureSasCredential _credential; public AzureSasCredentialSynchronousPolicy(AzureSasCredential credential) : this() { Argument.AssertNotNull<AzureSasCredential>(credential, "credential"); _credential = credential; } public override void OnSendingRequest(HttpMessage message) { string query = message.get_Request().get_Uri().get_Query(); string text = _credential.get_Signature(); if (text.StartsWith("?", StringComparison.InvariantCulture)) text = text.Substring(1); if (query.Contains(text)) return; object obj = default(object); if (message.TryGetProperty(typeof(AzureSasSignatureHistory), ref obj)) { string text2 = obj as string; if (text2 != null && query.Contains(text2)) { query = query.Replace(text2, text); goto IL_0090; } } query = (string.IsNullOrEmpty(query) ? ("?" + text) : (query + "&" + text)); goto IL_0090; IL_0090: message.get_Request().get_Uri().set_Query(query); message.SetProperty(typeof(AzureSasSignatureHistory), (object)text); this.OnSendingRequest(message); } } }