private List <QueryResult> SendPairQuery(PairQuery query) { string url = DefinePairSearchPath(query.Type); WebRequest request = WebRequest.Create(url); request.Method = "POST"; string postData = JsonConvert.SerializeObject(query); byte[] byteArray = Encoding.UTF8.GetBytes(postData); request.ContentType = "application/json"; request.ContentLength = byteArray.Length; using (Stream dataStream = request.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); } WebResponse response = request.GetResponse(); string result; using (Stream dataStream = response.GetResponseStream()) { StreamReader reader = new StreamReader(dataStream); result = reader.ReadToEnd(); } response.Close(); return(ParseResponse(result)); }
private Query TranslatePairQuery(IntermediateQuery intQuery) { var pairQuery = new PairQuery(); if (IsLemmaQuery(intQuery)) { pairQuery.Type = PairQueryType.LemmaPair; pairQuery.First = intQuery.Tokens[0].SemanticParameters[0]; pairQuery.Second = intQuery.Tokens[1].SemanticParameters[0]; pairQuery.MinRange = intQuery.Tokens[1].MinRange; pairQuery.MaxRange = intQuery.Tokens[1].MaxRange; } else { pairQuery.Type = PairQueryType.TagPair; pairQuery.First = intQuery.Tokens[0].GrammarParameters[0]; pairQuery.Second = intQuery.Tokens[1].GrammarParameters[0]; pairQuery.MinRange = intQuery.Tokens[1].MinRange; pairQuery.MaxRange = intQuery.Tokens[1].MaxRange; } return(pairQuery); }