io.airlift.http.client.JsonResponseHandler类的使用及代码示例

x33g5p2x  于2022-01-22 转载在 其他  
字(9.4k)|赞(0)|评价(0)|浏览(150)

本文整理了Java中io.airlift.http.client.JsonResponseHandler类的一些代码示例,展示了JsonResponseHandler类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JsonResponseHandler类的具体详情如下:
包路径:io.airlift.http.client.JsonResponseHandler
类名称:JsonResponseHandler

JsonResponseHandler介绍

暂无

代码示例

代码示例来源:origin: prestodb/presto

@Test
public void testNoTransactionSupport()
{
  Request request = preparePost()
      .setUri(uriFor("/v1/statement"))
      .setBodyGenerator(createStaticBodyGenerator("start transaction", UTF_8))
      .setHeader(PRESTO_USER, "user")
      .setHeader(PRESTO_SOURCE, "source")
      .build();
  QueryResults queryResults = client.execute(request, createJsonResponseHandler(QUERY_RESULTS_CODEC));
  while (queryResults.getNextUri() != null) {
    queryResults = client.execute(prepareGet().setUri(queryResults.getNextUri()).build(), createJsonResponseHandler(QUERY_RESULTS_CODEC));
  }
  assertNotNull(queryResults.getError());
  assertEquals(queryResults.getError().getErrorCode(), INCOMPATIBLE_CLIENT.toErrorCode().getCode());
}

代码示例来源:origin: prestodb/presto

@Test
public void testGetAllNodes()
{
  List<Stats> nodes = client.execute(
      prepareGet().setUri(server.resolve("/v1/node")).build(),
      createJsonResponseHandler(listJsonCodec(Stats.class)));
  // we only have one node and the list never contains the current node
  assertTrue(nodes.isEmpty());
}

代码示例来源:origin: airlift/airlift

@Test
public void testInvalidJson()
{
  String json = "{\"age\": \"foo\"}";
  try {
    handler.handle(null, mockResponse(OK, JSON_UTF_8, json));
  }
  catch (IllegalArgumentException e) {
    assertEquals(e.getMessage(), format("Unable to create %s from JSON response:\n[%s]", User.class, json));
    assertTrue(e.getCause() instanceof IllegalArgumentException);
    assertEquals(e.getCause().getMessage(), "Invalid JSON bytes for [simple type, class io.airlift.http.client.TestFullJsonResponseHandler$User]");
  }
}

代码示例来源:origin: prestodb/presto

@Test(expectedExceptions = {UnexpectedResponseException.class}, expectedExceptionsMessageRegExp = ".*404: Not Found")
  public void testGetQueryStateInfoNo()
  {
    client.execute(
        prepareGet().setUri(server.resolve("/v1/queryState/123")).build(),
        createJsonResponseHandler(jsonCodec(QueryStateInfo.class)));
  }
}

代码示例来源:origin: airlift/airlift

@Test
public void testValidJson()
{
  User user = new User("Joe", 25);
  User response = handler.handle(null, mockResponse(OK, JSON_UTF_8, codec.toJson(user)));
  assertEquals(response.getName(), user.getName());
  assertEquals(response.getAge(), user.getAge());
}

代码示例来源:origin: airlift/airlift

@Test(expectedExceptions = UnexpectedResponseException.class, expectedExceptionsMessageRegExp = "Expected application/json response from server but got text/plain; charset=utf-8")
public void testNonJsonResponse()
{
  handler.handle(null, mockResponse(OK, PLAIN_TEXT_UTF_8, "hello"));
}

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

@Test
public void testQuery()
    throws Exception
  Request request = preparePost()
      .setUri(uriFor("/v1/statement"))
      .setBodyGenerator(createStaticBodyGenerator("show catalogs", UTF_8))
      .setHeader(PRESTO_USER, "user")
      .setHeader(PRESTO_SOURCE, "source")
      .build();
  QueryResults queryResults = client.execute(request, createJsonResponseHandler(jsonCodec(QueryResults.class)));
  QueryInfo queryInfo = server.getQueryManager().getQueryInfo(new QueryId(queryResults.getId()));
  assertEquals(queryInfo.getSession().getSystemProperties(), ImmutableMap.builder()
      .put(QUERY_MAX_MEMORY, "1GB")
      .put(DISTRIBUTED_JOIN, "true")
    queryResults = client.execute(prepareGet().setUri(queryResults.getNextUri()).build(), createJsonResponseHandler(jsonCodec(QueryResults.class)));
  assertEquals(rows, ImmutableList.of(ImmutableList.of("system")));

代码示例来源:origin: io.airlift.airship/airship-coordinator

@Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = ".*agentId=may not be null.*")
public void testValidate()
{
  JsonCodec<AgentStatusRepresentation> agentCodec = JsonCodec.jsonCodec(AgentStatusRepresentation.class);
  Request request = prepareGet().setUri(URI.create("http://localhost/")).build();
  Response response = fakeJsonResponse("{}");
  validate(createJsonResponseHandler(agentCodec)).handle(request, response);
}

代码示例来源:origin: airlift/airship

@Test
public void testShow()
    throws Exception
{
  initializeOneAgent();
  coordinator.updateAllAgentsAndWait();
  Request request = Request.Builder.prepareGet()
      .setUri(coordinatorUriBuilder().appendPath("/v1/slot").addParameter("!binary", "*:apple:*").build())
      .build();
  List<SlotStatusRepresentation> actual = httpClient.execute(request, createJsonResponseHandler(slotStatusesCodec, Status.OK.getStatusCode()));
  List<SlotStatusRepresentation> expected = ImmutableList.of(
      slotStatusRepresentationFactory.create(bananaSlot.status().changeInstanceId(agentInstanceId)));
  assertEqualsNoOrder(actual, expected);
}

代码示例来源:origin: prestodb/presto

private void runToCompletion(String sql)
{
  URI uri = uriBuilderFrom(server.getBaseUrl().resolve("/v1/statement")).build();
  Request request = preparePost()
      .setHeader(PRESTO_USER, "user")
      .setUri(uri)
      .setBodyGenerator(createStaticBodyGenerator(sql, UTF_8))
      .build();
  QueryResults queryResults = client.execute(request, createJsonResponseHandler(jsonCodec(QueryResults.class)));
  while (queryResults.getNextUri() != null) {
    request = prepareGet()
        .setHeader(PRESTO_USER, "user")
        .setUri(queryResults.getNextUri())
        .build();
    queryResults = client.execute(request, createJsonResponseHandler(jsonCodec(QueryResults.class)));
  }
}

代码示例来源:origin: airlift/airlift

ServiceDescriptorsRepresentation serviceDescriptorsRepresentation;
if (serviceInventoryUri.getScheme().toLowerCase().startsWith("http")) {
  Builder requestBuilder = prepareGet()
      .setUri(serviceInventoryUri)
      .setHeader("User-Agent", nodeInfo.getNodeId());
  serviceDescriptorsRepresentation = httpClient.execute(requestBuilder.build(), createJsonResponseHandler(serviceDescriptorsCodec));
  serviceDescriptorsRepresentation = serviceDescriptorsCodec.fromJson(readAllBytes(file.toPath()));

代码示例来源:origin: prestodb/presto

private List<URI> getAllNodes(URI server)
  {
    Request request = prepareGet().setUri(uriBuilderFrom(server).replacePath("/v1/service/presto").build()).build();
    JsonResponseHandler<ServiceDescriptorsRepresentation> responseHandler = createJsonResponseHandler(jsonCodec(ServiceDescriptorsRepresentation.class));
    ServiceDescriptorsRepresentation serviceDescriptors = httpClient.execute(request, responseHandler);

    ImmutableList.Builder<URI> addresses = ImmutableList.builder();
    for (ServiceDescriptor serviceDescriptor : serviceDescriptors.getServiceDescriptors()) {
      String httpUri = serviceDescriptor.getProperties().get("http");
      if (httpUri != null) {
        addresses.add(URI.create(httpUri));
      }
    }
    return addresses.build();
  }
}

代码示例来源:origin: io.airlift.airship/airship-cli

@Override
public List<CoordinatorStatusRepresentation> showCoordinators(CoordinatorFilter coordinatorFilter)
{
  URI uri = coordinatorFilter.toUri(uriBuilderFrom(coordinatorUri).replacePath("v1/admin/coordinator"));
  Request request = Request.Builder.prepareGet()
      .setUri(uri)
      .build();
  List<CoordinatorStatusRepresentation> coordinators = client.execute(request, createJsonResponseHandler(COORDINATORS_CODEC));
  return coordinators;
}

代码示例来源:origin: io.prestosql/presto-main

private List<BasicQueryInfo> getQueryInfos(String path)
{
  Request request = prepareGet().setUri(server.resolve(path)).build();
  return client.execute(request, createJsonResponseHandler(listJsonCodec(BasicQueryInfo.class)));
}

代码示例来源:origin: airlift/airlift

public static <T> JsonResponseHandler<T> createJsonResponseHandler(JsonCodec<T> jsonCodec, int firstSuccessfulResponseCode, int... otherSuccessfulResponseCodes)
{
  return new JsonResponseHandler<>(jsonCodec, firstSuccessfulResponseCode, otherSuccessfulResponseCodes);
}

代码示例来源:origin: prestodb/presto

@Test
public void testGetQueryStateInfosForUserNoResult()
{
  List<QueryStateInfo> infos = client.execute(
      prepareGet().setUri(server.resolve("/v1/queryState?user=user3")).build(),
      createJsonResponseHandler(listJsonCodec(QueryStateInfo.class)));
  assertTrue(infos.isEmpty());
}

代码示例来源:origin: io.airlift/http-client

@Test
public void testInvalidJson()
{
  String json = "{\"age\": \"foo\"}";
  try {
    handler.handle(null, mockResponse(OK, JSON_UTF_8, json));
  }
  catch (IllegalArgumentException e) {
    assertEquals(e.getMessage(), format("Unable to create %s from JSON response:\n[%s]", User.class, json));
    assertTrue(e.getCause() instanceof IllegalArgumentException);
    assertEquals(e.getCause().getMessage(), "Invalid JSON bytes for [simple type, class io.airlift.http.client.TestFullJsonResponseHandler$User]");
  }
}

代码示例来源:origin: prestodb/presto

@Test
public void testGetQueryStateInfo()
{
  QueryStateInfo info = client.execute(
      prepareGet().setUri(server.resolve("/v1/queryState/" + queryResults.getId())).build(),
      createJsonResponseHandler(jsonCodec(QueryStateInfo.class)));
  assertNotNull(info);
}

代码示例来源:origin: io.airlift/http-client

@Test
public void testValidJson()
{
  User user = new User("Joe", 25);
  User response = handler.handle(null, mockResponse(OK, JSON_UTF_8, codec.toJson(user)));
  assertEquals(response.getName(), user.getName());
  assertEquals(response.getAge(), user.getAge());
}

代码示例来源:origin: com.teradata.airlift/http-client

@Test(expectedExceptions = UnexpectedResponseException.class)
  public void testJsonErrorResponse()
  {
    String json = "{\"error\": true}";
    handler.handle(null, mockResponse(INTERNAL_SERVER_ERROR, JSON_UTF_8, json));
  }
}

相关文章

微信公众号

最新文章

更多