public static StringResponseHandler.StringResponse runStatementSafe(ClickHouseConfig config, String query) { URI uri = UriBuilder .fromUri(config.getAddress()).queryParam("query", query).build(); return HTTP_CLIENT.execute(Request.builder() .setUri(uri).setMethod("POST").build(), StringResponseHandler.createStringResponseHandler()); }
public ClickHouseQueryExecution(ClickHouseConfig config, String query) { this.query = query; this.queryId = UUID.randomUUID().toString(); this.config = config; URI uri = UriBuilder .fromUri(config.getAddress()) .queryParam("query_id", queryId).build(); result = convertCompletableFuture(HTTP_CLIENT.executeAsync( Request.builder() .setUri(uri) .setMethod("POST") .setBodyGenerator(createStaticBodyGenerator(query + " format " + QueryResponseHandler.FORMAT, UTF_8)) .build(), new QueryResponseHandler())); }
private void executeRequest(ProjectCollection collection, List<SchemaField> schema, List<Event> events, CompletableFuture<Void> future, boolean tried) { HttpResponseFuture<StringResponse> f = HTTP_CLIENT.executeAsync(Request.builder() .setUri(buildInsertUri(collection, schema)) .setMethod("POST") .setBodyGenerator(new BinaryRawGenerator(events, schema)) .build(), createStringResponseHandler()); f.addListener(() -> { try { StringResponse stringResponse = f.get(1L, MINUTES); if (stringResponse.getStatusCode() == 200) { future.complete(null); } else { RuntimeException ex = new RuntimeException(stringResponse.getStatusMessage() + " : " + stringResponse.getBody().split("\n", 2)[0]); future.completeExceptionally(ex); } } catch (InterruptedException|ExecutionException|TimeoutException e) { if(!tried) { executeRequest(collection, schema, events, future, true); } else { future.completeExceptionally(e); LOGGER.error(e); } } }, Runnable::run); }
public static Builder prepareHead() { return new Builder().setMethod("HEAD"); }
private Request buildRequestWithHeader(String type, String override) { return Request.builder().setUri(server.getBaseUrl()).setMethod(type).addHeader("X-HTTP-Method-Override", override).build(); }
public static Builder preparePut() { return new Builder().setMethod("PUT"); }
public static Builder preparePost() { return new Builder().setMethod("POST"); }
public static Builder prepareGet() { return new Builder().setMethod("GET"); }
public static Builder prepareDelete() { return new Builder().setMethod("DELETE"); }
private Request buildRequestWithQueryParam(String type, String override) { return Request.builder().setUri(server.getBaseUrl().resolve(format("/?_method=%s", override))).setMethod(type).build(); }
public static Builder fromRequest(Request request) { return new Builder() .setUri(request.getUri()) .setMethod(request.getMethod()) .addHeaders(request.getHeaders()) .setBodyGenerator(request.getBodyGenerator()) .setFollowRedirects(request.isFollowRedirects()) .setPreserveAuthorizationOnRedirect(request.isPreserveAuthorizationOnRedirect()); }