Search in sources :

Example 31 with Request

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());
}
Also used : Request(com.facebook.airlift.http.client.Request) StringResponse(com.facebook.airlift.http.client.StringResponseHandler.StringResponse) Test(org.testng.annotations.Test)

Example 32 with Request

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();
}
Also used : JsonObjectMapperProvider(com.facebook.airlift.json.JsonObjectMapperProvider) Request(com.facebook.airlift.http.client.Request) UncheckedIOException(java.io.UncheckedIOException) StringResponse(com.facebook.airlift.http.client.StringResponseHandler.StringResponse) TypeReference(com.fasterxml.jackson.core.type.TypeReference) IOException(java.io.IOException) UncheckedIOException(java.io.UncheckedIOException) Map(java.util.Map)

Example 33 with Request

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);
}
Also used : ProxyResponse(com.facebook.presto.proxy.ProxyResponseHandler.ProxyResponse) AsyncResponse(javax.ws.rs.container.AsyncResponse) Response(javax.ws.rs.core.Response) AsyncResponseHandler.bindAsyncResponse(com.facebook.airlift.http.server.AsyncResponseHandler.bindAsyncResponse) HttpServletRequest(javax.servlet.http.HttpServletRequest) Request(com.facebook.airlift.http.client.Request)

Example 34 with Request

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;
}
Also used : Request(com.facebook.airlift.http.client.Request) QueryResults(com.facebook.presto.client.QueryResults)

Example 35 with Request

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);
}
Also used : Request(com.facebook.airlift.http.client.Request)

Aggregations

Request (com.facebook.airlift.http.client.Request)40 URI (java.net.URI)16 Test (org.testng.annotations.Test)14 QueryResults (com.facebook.presto.client.QueryResults)7 ResponseHandler (com.facebook.airlift.http.client.ResponseHandler)5 TaskStatus (com.facebook.presto.execution.TaskStatus)5 AdaptingJsonResponseHandler.createAdaptingJsonResponseHandler (com.facebook.presto.server.smile.AdaptingJsonResponseHandler.createAdaptingJsonResponseHandler)5 FullSmileResponseHandler.createFullSmileResponseHandler (com.facebook.presto.server.smile.FullSmileResponseHandler.createFullSmileResponseHandler)5 List (java.util.List)5 HttpUriBuilder (com.facebook.airlift.http.client.HttpUriBuilder)4 Response (com.facebook.airlift.http.client.Response)4 JsonCodec (com.facebook.airlift.json.JsonCodec)4 SimpleHttpResponseHandler (com.facebook.presto.server.SimpleHttpResponseHandler)4 TaskUpdateRequest (com.facebook.presto.server.TaskUpdateRequest)4 NodeState (com.facebook.presto.spi.NodeState)4 Duration (io.airlift.units.Duration)4 HttpServletRequest (javax.servlet.http.HttpServletRequest)4 SmileCodec (com.facebook.airlift.json.smile.SmileCodec)3 BaseResponse (com.facebook.presto.server.smile.BaseResponse)3 TestingPrestoServer (com.facebook.presto.server.testing.TestingPrestoServer)3