/// <summary> /// Sends an analytics request to the server. /// </summary> /// <typeparam name="T">The <see cref="Type" /> T of the body for each row (or document) result.</typeparam> /// <param name="analyticsRequest">The analytics request.</param> /// <returns></returns> public IAnalyticsResult <T> Send <T>(IAnalyticsRequest analyticsRequest) { IAnalyticsResult <T> result; if (_isDown) { result = HandleNodeUnavailable <T>(analyticsRequest); } else { try { result = _analyticsClient.Query <T>(analyticsRequest); } catch (Exception exception) { result = new AnalyticsResult <T> { Exception = exception, Message = exception.Message, Success = false, }; } } return(result); }