static ReadOnlyMemory <byte> Serialize(ConfigurationSetting setting) { var writer = new ArrayBufferWriter <byte>(); ConfigurationServiceSerializer.Serialize(setting, writer); return(writer.WrittenMemory); }
/// <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)); }
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)); }