use of com.facebook.airlift.http.client.Request in project presto by prestodb.
the class TestGenerateTokenFilter method testTraceToken.
@Test
public void testTraceToken() {
Request request = prepareGet().setUri(server.getBaseUrl().resolve("/testing/echo_token")).build();
StringResponse response = httpClient.execute(request, createStringResponseHandler());
assertEquals(response.getStatusCode(), SC_OK);
assertEquals(response.getBody(), filter.getLastToken());
}
use of com.facebook.airlift.http.client.Request in project presto by prestodb.
the class ClusterSizeFetcher method fetchClusterSize.
private int fetchClusterSize() {
Request request = prepareGet().setUri(nodeResourceUri).setHeader(CONTENT_TYPE, APPLICATION_JSON).build();
StringResponse response = httpClient.execute(request, createStringResponseHandler());
checkState(response.getStatusCode() == OK.getStatusCode(), "Invalid response: %s %s", response.getStatusCode(), response.getStatusMessage());
List<Map<String, Object>> values;
try {
values = new JsonObjectMapperProvider().get().readValue(response.getBody(), new TypeReference<List<Map<String, Object>>>() {
});
} catch (IOException e) {
throw new UncheckedIOException(e);
}
return values.size();
}
use of com.facebook.airlift.http.client.Request in project presto by prestodb.
the class ProxyResource method performRequest.
private void performRequest(HttpServletRequest servletRequest, AsyncResponse asyncResponse, Request.Builder requestBuilder, Function<ProxyResponse, Response> responseBuilder) {
setupXForwardedFor(servletRequest, requestBuilder);
setupBearerToken(servletRequest, requestBuilder);
for (String name : list(servletRequest.getHeaderNames())) {
if (isPrestoHeader(name) || name.equalsIgnoreCase(COOKIE)) {
for (String value : list(servletRequest.getHeaders(name))) {
requestBuilder.addHeader(name, value);
}
} else if (name.equalsIgnoreCase(USER_AGENT)) {
for (String value : list(servletRequest.getHeaders(name))) {
requestBuilder.addHeader(name, "[Presto Proxy] " + value);
}
}
}
Request request = requestBuilder.setPreserveAuthorizationOnRedirect(true).build();
ListenableFuture<Response> future = executeHttp(request).transform(responseBuilder::apply, executor).catching(ProxyException.class, e -> handleProxyException(request, e), directExecutor());
setupAsyncResponse(asyncResponse, future);
}
use of com.facebook.airlift.http.client.Request in project presto by prestodb.
the class QueryExecutionClientUtil method getQueryResults.
public static QueryResults getQueryResults(HttpClient client, QueryResults queryResults, String user) {
requireNonNull(queryResults.getNextUri(), "uri is null, query state : " + queryResults.getStats().getState());
Request request = prepareGet().setHeader(PRESTO_USER, user).setUri(queryResults.getNextUri()).build();
queryResults = client.execute(request, createJsonResponseHandler(jsonCodec(QueryResults.class)));
return queryResults;
}
use of com.facebook.airlift.http.client.Request in project presto by prestodb.
the class TestQueues method getBasicQueryInfo.
private BasicQueryInfo getBasicQueryInfo(String path) throws IOException {
requireNonNull(path, "path is null");
Request request = prepareGet().setUri(queryRunner.getCoordinator().resolve(path)).build();
String body = client.execute(request, createStringResponseHandler()).getBody();
return objectMapper.readValue(body, BasicQueryInfo.class);
}
Aggregations