本文整理了Java中io.airlift.http.client.JsonResponseHandler
类的一些代码示例,展示了JsonResponseHandler
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JsonResponseHandler
类的具体详情如下:
包路径:io.airlift.http.client.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));
}
}
内容来源于网络,如有侵权,请联系作者删除!