Beispiel #1
0
        /// <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")
                        });
                    }
        }