public virtual async Task<IResult> InsertDesignDocumentAsync(string designDocName, string designDoc)
{
IResult result;
try
{
var server = _clientConfig.Servers.First();
const string api = "{0}://{1}:{2}/{3}/_design/{4}";
var protocol = UseSsl() ? "https" : "http";
var port = UseSsl() ? _clientConfig.SslPort : _clientConfig.ApiPort;
var uri = new Uri(string.Format(api, protocol, server.Host, port, BucketName, designDocName));
var request = new HttpRequestMessage(HttpMethod.Put, uri)
{
Content = new StringContent(designDoc)
};
SetHeaders(request, uri, MediaType.Json);
var response = await _httpClient.SendAsync(request).ContinueOnAnyContext();
result = await GetResult(response).ContinueOnAnyContext();
}
catch (AggregateException e)
{
result = new DefaultResult(false, e.Message, e);
Log.Error(e);
}
return result;
}