Exemple #1
0
 public async Task CreateLinkAsync(AnalyticsLink link, CreateAnalyticsLinkOptions?options = null)
 {
     link.ValidateForRequest();
     options ??= new();
     try
     {
         var builder = new UriBuilder(_serviceUriProvider.GetRandomAnalyticsUri());
         builder.Path = link.ManagementPath;
         var uri         = builder.Uri;
         var formContent = new FormUrlEncodedContent(link.FormData);
         var result      = await _couchbaseHttpClient.PostAsync(uri, formContent, options.CancellationToken).ConfigureAwait(false);
         await HandleLinkManagementResultErrors(result, link);
     }
     catch (Exception exception)
     {
         _logger.LogError(exception, "Failed to create link.");
         throw;
     }
 }
        public async Task ReplaceLinkAsync(AnalyticsLink link, ReplaceAnalyticsLinkOptions?options = null)
        {
            link.ValidateForRequest();
            options ??= new();
            try
            {
                var builder = new UriBuilder(_serviceUriProvider.GetRandomAnalyticsUri());
                builder.Path = link.ManagementPath;
                var uri         = builder.Uri;
                var formContent = new FormUrlEncodedContent(link.FormData);
                using var httpClient = _httpClientFactory.Create();
                var result = await httpClient.PutAsync(uri, formContent, options.CancellationToken).ConfigureAwait(false);

                var responseBody = await result.Content.ReadAsStringAsync().ConfigureAwait(false);
                await HandleLinkManagementResultErrors(result, link).ConfigureAwait(false);
            }
            catch (Exception exception)
            {
                _logger.LogError(exception, "Failed to replace link.");
                throw;
            }
        }