public QueryParseResult Post(string query)
        {
            var request = new Request(RequestType.Cursor, HttpMethod.Post);

            request.RelativeUri = _apiUri;

            var bodyDocument = new Document();

            // set AQL string
            bodyDocument.String("query", query);

            request.Body = bodyDocument.Serialize();

            var response = _connection.Process(request);
            QueryParseResult parseResult = null;

            switch (response.StatusCode)
            {
            case HttpStatusCode.OK:
                parseResult             = new QueryParseResult();
                parseResult.bindVars    = response.Document.List <string>("bindVars");
                parseResult.collections = response.Document.List <string>("collections");
                // error
                parseResult.error = response.Document.Bool("error");
                parseResult.code  = response.Document.Int("code");


                break;

            default:

                if (response.IsException)
                {
                    throw new ArangoException(
                              response.StatusCode,
                              response.Document.String("driverErrorMessage"),
                              response.Document.String("driverExceptionMessage"),
                              response.Document.Object <Exception>("driverInnerException")
                              );
                }
                break;
            }

            return(parseResult);
        }
        public QueryParseResult Post(string query)
        {
            var request = new Request(RequestType.Cursor, HttpMethod.Post);
            request.RelativeUri = _apiUri;

            var bodyDocument = new Document();

            // set AQL string
            bodyDocument.String("query", query);

            request.Body = bodyDocument.Serialize();

            var response = _connection.Process(request);
            QueryParseResult parseResult = null;

            switch (response.StatusCode)
            {

                case HttpStatusCode.OK:
                    parseResult = new QueryParseResult();
                    parseResult.bindVars = response.Document.List<string>("bindVars");
                    parseResult.collections = response.Document.List<string>("collections");
                    // error
                    parseResult.error = response.Document.Bool("error");
                    parseResult.code = response.Document.Int("code");

                    break;
                default:

                    if (response.IsException)
                    {
                        throw new ArangoException(
                                response.StatusCode,
                                response.Document.String("driverErrorMessage"),
                                response.Document.String("driverExceptionMessage"),
                                response.Document.Object<Exception>("driverInnerException")
                                );
                    }
                    break;
            }

            return parseResult;
        }