Пример #1
0
        public async ValueTask <Response <SecretBundle> > GetSecretAsync(string secretName, CancellationToken cancellationToken = default)
        {
            if (secretName == null)
            {
                throw new ArgumentNullException(nameof(secretName));
            }

            using var scope = _clientDiagnostics.CreateScope("MiniSecretClient.GetSecret");
            scope.Start();
            try
            {
                using var message = CreateGetSecretRequest(secretName);
                await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);

                switch (message.Response.Status)
                {
                case 200:
                {
                    SecretBundle value = default;
                    using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false);

                    if (document.RootElement.ValueKind == JsonValueKind.Null)
                    {
                        value = null;
                    }
                    else
                    {
                        value = SecretBundle.DeserializeSecretBundle(document.RootElement);
                    }
                    return(Response.FromValue(value, message.Response));
                }
        public async Task <Response <SecretBundle> > GetSecretAsync(string secretName, CancellationToken cancellationToken = default)
        {
            if (secretName == null)
            {
                throw new ArgumentNullException(nameof(secretName));
            }

            using var message = CreateGetSecretRequest(secretName);
            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);

            switch (message.Response.Status)
            {
            case 200:
            {
                SecretBundle value = default;
                using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false);

                value = SecretBundle.DeserializeSecretBundle(document.RootElement);
                return(Response.FromValue(value, message.Response));
            }