private ContentResponse executeQueryRequest(String cacheName, HttpMethod method, String q, int offset, int maxResults) throws Exception { Request request; String searchUrl = getUrl(pickServer(), cacheName); String mode = getQueryMode().toString(); if (method == POST) { ObjectNode queryReq = MAPPER.createObjectNode(); queryReq.put("query", q); queryReq.put("offset", offset); queryReq.put("max_results", maxResults); queryReq.put(QUERY_MODE, mode); request = client.newRequest(searchUrl).method(POST).content(new StringContentProvider(queryReq.toString())); } else { StringBuilder queryReq = new StringBuilder(searchUrl); queryReq.append("&query=").append(URLEncoder.encode(q, "UTF-8")); queryReq.append("&offset=").append(offset); queryReq.append("&max_results=").append(maxResults); queryReq.append("&").append(QUERY_MODE).append("=").append(mode); request = client.newRequest(queryReq.toString()).method(GET); } return request.send(); }