/// <summary> /// Execute a SQL query. /// </summary> /// <param name="request"></param> /// <returns></returns> public QueryResponse Query(QueryRequest request) { var uriStr = GetEndPoint(NoSQLServices.Query, this.Region); var optional = request.GetOptionalQuery(); if (!string.IsNullOrEmpty(optional)) { uriStr = $"{uriStr}?{optional}"; } var uri = new Uri(uriStr); var httpRequestHeaderParam = new HttpRequestHeaderParam() { OpcRequestId = request.OpcRequestId }; using (var webResponse = this.RestClient.Post(uri, request.QueryDetails, httpRequestHeaderParam)) using (var stream = webResponse.GetResponseStream()) using (var reader = new StreamReader(stream)) { var response = reader.ReadToEnd(); return(new QueryResponse() { QueryResultCollection = this.JsonSerializer.Deserialize <QueryResultCollection>(response), OpcRequestId = webResponse.Headers.Get("opc-request-id"), OpcNextPage = webResponse.Headers.Get("opc-next-page") }); } }