internal static QueryBody CreateQueryBody(string query, DateTimeRange timeRange, LogsQueryOptions options, out string prefer) { var queryBody = new QueryBody(query); if (timeRange != DateTimeRange.All) { queryBody.Timespan = timeRange.ToString(); } prefer = null; if (options?.ServerTimeout is TimeSpan timeout) { prefer = "wait=" + (int)timeout.TotalSeconds; } if (options?.IncludeStatistics == true) { prefer += " include-statistics=true"; } if (options != null) { queryBody.Workspaces = options.AdditionalWorkspaces; } return(queryBody); }
internal static QueryBody CreateQueryBody(string query, DateTimeRange timeRange, LogsQueryOptions options, out string prefer) { var queryBody = new QueryBody(query); if (timeRange != DateTimeRange.All) { queryBody.Timespan = timeRange.ToString(); } if (options != null) { queryBody.Workspaces = options.AdditionalWorkspaces; } prefer = null; StringBuilder preferBuilder = null; if (options?.ServerTimeout is TimeSpan timeout) { preferBuilder ??= new(); preferBuilder.Append("wait="); preferBuilder.Append((int)timeout.TotalSeconds); } if (options?.IncludeStatistics == true) { if (preferBuilder == null) { preferBuilder = new(); } else { preferBuilder.Append(','); } preferBuilder.Append("include-statistics=true"); } if (options?.IncludeVisualization == true) { if (preferBuilder == null) { preferBuilder = new(); } else { preferBuilder.Append(','); } preferBuilder.Append("include-render=true"); } prefer = preferBuilder?.ToString(); return(queryBody); }