Beispiel #1
0
        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);
        }
Beispiel #2
0
 public IActionResult SetKV([FromBody] CreateKeyValueRequest requestBody)
 {
     _kvManager.SetValue(requestBody.Key, requestBody.Value);
     return(NoContent());
 }