Exemplo n.º 1
0
        static ReadOnlyMemory <byte> Serialize(ConfigurationSetting setting)
        {
            var writer = new ArrayBufferWriter <byte>();

            ConfigurationServiceSerializer.Serialize(setting, writer);
            return(writer.WrittenMemory);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Lists chronological/historical representation of <see cref="ConfigurationSetting"/> from the configuration store that match the options selected in the <see cref="SettingSelector"/>.
        /// </summary>
        /// <remarks>Revisions are provided in descending order from their respective <see cref="ConfigurationSetting.LastModified"/> date.</remarks>
        /// <param name="selector">Set of options for selecting settings from the configuration store.</param>
        /// <param name="pageLink"></param>
        /// <param name="cancellationToken">A <see cref="CancellationToken"/> controlling the request lifetime.</param>
        private Page <ConfigurationSetting> GetRevisionsPage(SettingSelector selector, string pageLink, CancellationToken cancellationToken = default)
        {
            using DiagnosticScope scope = _pipeline.Diagnostics.CreateScope("Azure.Data.AppConfiguration.ConfigurationClient.GetRevisionsPage");
            scope.Start();

            try
            {
                using Request request = CreateGetRevisionsRequest(selector, pageLink);
                Response response = _pipeline.SendRequest(request, cancellationToken);
                switch (response.Status)
                {
                case 200:
                case 206:
                    SettingBatch settingBatch = ConfigurationServiceSerializer.ParseBatch(response);
                    return(new Page <ConfigurationSetting>(settingBatch.Settings, settingBatch.NextBatchLink, response));

                default:
                    throw response.CreateRequestFailedException();
                }
            }
            catch (Exception e)
            {
                scope.Failed(e);
                throw;
            }
        }
        private Request CreateAddRequest(ConfigurationSetting setting)
        {
            Argument.AssertNotNull(setting, nameof(setting));
            Argument.AssertNotNullOrEmpty(setting.Key, $"{nameof(setting)}.{nameof(setting.Key)}");

            Request request = _pipeline.CreateRequest();

            ReadOnlyMemory <byte> content = ConfigurationServiceSerializer.SerializeRequestBody(setting);

            request.Method = RequestMethod.Put;

            BuildUriForKvRoute(request.Uri, setting);

            MatchConditions requestOptions = new MatchConditions();

            requestOptions.IfNoneMatch = ETag.All;
            ConditionalRequestOptionsExtensions.ApplyHeaders(request, requestOptions);

            request.Headers.Add(s_mediaTypeKeyValueApplicationHeader);
            request.Headers.Add(HttpHeader.Common.JsonContentType);
            request.Content = RequestContent.Create(content);

            return(request);
        }
 private static Response <ConfigurationSetting> CreateResponse(Response response)
 {
     return(Response.FromValue(ConfigurationServiceSerializer.DeserializeSetting(response.ContentStream), response));
 }
        private static async Task <Response <ConfigurationSetting> > CreateResponseAsync(Response response, CancellationToken cancellation)
        {
            ConfigurationSetting result = await ConfigurationServiceSerializer.DeserializeSettingAsync(response.ContentStream, cancellation).ConfigureAwait(false);

            return(Response.FromValue(result, response));
        }
Exemplo n.º 6
0
 static Response <ConfigurationSetting> CreateResponse(Response response)
 {
     return(new Response <ConfigurationSetting>(response, ConfigurationServiceSerializer.DeserializeSetting(response.ContentStream)));
 }
 public override void Write(Utf8JsonWriter writer, ConfigurationSetting value, JsonSerializerOptions options)
 {
     ConfigurationServiceSerializer.WriteSetting(writer, value);
 }
 public override ConfigurationSetting Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
 {
     return(ConfigurationServiceSerializer.ReadSetting(ref reader));
 }