public async Task <bool> CreateKeyValueAsync(CreateKeyValueRequest request) { var query = HttpUtility.ParseQueryString(string.Empty); if (string.IsNullOrEmpty(request.SessionId)) { query["cas"] = request.Cas.ToString(); } else { query["acquire"] = request.SessionId; } var queryString = query.ToString(); var json = JsonSerializer.Serialize(request.Value); var content = new StringContent(json); var path = $"/v1/kv/{request.Key}?{queryString}"; using (HttpResponseMessage response = await httpClient.PutAsync(path, content).ConfigureAwait(false)) { if (response.IsSuccessStatusCode) { using var contentStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false); return(await JsonSerializer.DeserializeAsync <bool>(contentStream, serializerOptions).ConfigureAwait(false)); } } return(false); }
public IActionResult SetKV([FromBody] CreateKeyValueRequest requestBody) { _kvManager.SetValue(requestBody.Key, requestBody.Value); return(NoContent()); }