public static void generateFile(final String resourceRelativeUrl, final int minimalSize, final String fileName) throws IOException { LOG.info("Generating file " + fileName); final Client client = ClientBuilder.newClient(); final WebTarget target = client.target(baseUri).path("generate").path(resourceRelativeUrl); final File file = new File(fileName); final BufferedWriter writer = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(file), Charset.forName("UTF-8"))); int actualSize = 0; while (actualSize < minimalSize) { final String response = target.request().get(String.class); writer.write(response + ENTITY_SEPARATOR); actualSize += response.length(); } writer.flush(); writer.close(); }
private <T> RestResponse<T> getRequest(final String path, final Class<T> type) { try (Response response = client.target(serverAddress) .path(path) .request(MediaType.APPLICATION_JSON_TYPE) .get()) { return response.getStatus() == Response.Status.OK.getStatusCode() ? RestResponse.successful(response.readEntity(type)) : createErrorResponse(path, response); } catch (final Exception e) { throw new KsqlRestClientException("Error issuing GET to KSQL server. path:" + path, e); } }
@Test public void testEstimate() { List<Double> items = target("estimate/U0/I0/I1/I2").request() .accept(MediaType.APPLICATION_JSON_TYPE).get(LIST_DOUBLE_TYPE); Assert.assertEquals(3, items.size()); Assert.assertEquals(0.38761318f, items.get(0), FLOAT_EPSILON); Assert.assertEquals(0.4653969f, items.get(1), FLOAT_EPSILON); Assert.assertEquals(-0.0801478f, items.get(2), FLOAT_EPSILON); }
@Test public void shouldPostOrderAndGetItBack() { OrderBean bean = new OrderBean(id(1L), 2L, OrderState.CREATED, Product.JUMPERS, 10, 100d); .request(APPLICATION_JSON_TYPE) .post(Entity.json(bean)); assertThat(response.getStatus()).isEqualTo(HttpURLConnection.HTTP_CREATED); .request(APPLICATION_JSON_TYPE) .get(new GenericType<OrderBean>() { }); .request(APPLICATION_JSON_TYPE) .get(new GenericType<OrderBean>() { });
final Response response = client.target(FRIENDS_TIMELINE_URI).request().get(); if (response.getStatus() != 200) { String errorEntity = null; if (response.hasEntity()) { errorEntity = response.readEntity(String.class); + response.getStatus() + ", reason: " + response.getStatusInfo().getReasonPhrase() + ", entity: " + errorEntity); final List<Status> statuses = response.readEntity(new GenericType<List<Status>>() { });
@Test public void testTableSizeNotFound() { Response response = _webTarget.path("table/unknownTable/size").request().get(Response.class); Assert.assertEquals(response.getStatus(), Response.Status.NOT_FOUND.getStatusCode()); }
final Invocation.Builder request = ClientBuilder.newClient() .target(host) .path("api") .path("v1") .path("configuration") .path("projectsEnabled") .request(); final String enabled = request.get(String.class); if (enabled == null || !Boolean.valueOf(enabled)) { final Response r = request.put(Entity.text(Boolean.TRUE.toString())); if (r.getStatusInfo().getFamily() != Response.Status.Family.SUCCESSFUL) { throw new WebApplicationException(String.format("Unable to enable projects: %s", r.getStatusInfo().getReasonPhrase()), r.getStatus());
private JsonNode fetchJsonResponse(final String pathSuffix, final String schemaDescription) throws SchemaNotFoundException, IOException { String errorMessage = null; for (final String baseUrl : baseUrls) { final String path = getPath(pathSuffix); final String trimmedBase = getTrimmedBase(baseUrl); final String url = trimmedBase + path; final WebTarget webTarget = client.target(url); final Response response = webTarget.request().accept(MediaType.APPLICATION_JSON).get(); final int responseCode = response.getStatus(); if (responseCode == Response.Status.OK.getStatusCode()) { final JsonNode responseJson = response.readEntity(JsonNode.class); return responseJson; } if (responseCode == Response.Status.NOT_FOUND.getStatusCode()) { throw new SchemaNotFoundException("Could not find Schema with " + schemaDescription + " from the Confluent Schema Registry located at " + baseUrl); } if (errorMessage == null) { errorMessage = response.readEntity(String.class); } } throw new IOException("Failed to retrieve Schema with " + schemaDescription + " from any of the Confluent Schema Registry URL's provided; failure response message: " + errorMessage); }
public void get(final GetStatusConfig config) { final SSLContext sslContext = config.getSslContext(); final ClientBuilder clientBuilder = ClientBuilder.newBuilder(); if (sslContext != null) { clientBuilder.sslContext(sslContext); } final ClientConfig clientConfig = new ClientConfig(); clientConfig.property(ClientProperties.CONNECT_TIMEOUT, 10000); clientConfig.property(ClientProperties.READ_TIMEOUT, 10000); clientBuilder.withConfig(clientConfig); final Client client = clientBuilder.build(); final WebTarget target = client.target(config.getUrl()); final Response response = target.request().get(); System.out.println("Response Code - " + response.getStatus()); }
@Test public void getTables() throws Exception { String tablesPath = "/tables"; Response response = _webTarget.path(tablesPath).request().get(Response.class); String responseBody = response.readEntity(String.class); TablesList tablesList = JsonUtils.stringToObject(responseBody, TablesList.class); Assert.assertNotNull(tablesList); List<String> tables = tablesList.getTables(); Assert.assertNotNull(tables); Assert.assertEquals(tables.size(), 1); Assert.assertEquals(tables.get(0), TABLE_NAME); String secondTable = "secondTable"; addTable(secondTable); response = _webTarget.path(tablesPath).request().get(Response.class); responseBody = response.readEntity(String.class); tablesList = JsonUtils.stringToObject(responseBody, TablesList.class); Assert.assertNotNull(tablesList); tables = tablesList.getTables(); Assert.assertNotNull(tables); Assert.assertEquals(tables.size(), 2); Assert.assertTrue(tables.contains(TABLE_NAME)); Assert.assertTrue(tables.contains(secondTable)); }
private EurekaHttpResponse<InstanceInfo> getInstanceInternal(String urlPath) { Response response = null; try { Builder requestBuilder = jerseyClient.target(serviceUrl).path(urlPath).request(); addExtraProperties(requestBuilder); addExtraHeaders(requestBuilder); response = requestBuilder.accept(MediaType.APPLICATION_JSON_TYPE).get(); InstanceInfo infoFromPeer = null; if (response.getStatus() == Status.OK.getStatusCode() && response.hasEntity()) { infoFromPeer = response.readEntity(InstanceInfo.class); } return anEurekaHttpResponse(response.getStatus(), infoFromPeer).headers(headersOf(response)).build(); } finally { if (logger.isDebugEnabled()) { logger.debug("Jersey2 HTTP GET {}/{}; statusCode={}", serviceUrl, urlPath, response == null ? "N/A" : response.getStatus()); } if (response != null) { response.close(); } } }
@Test public void testPopularRepresentativeItemsCSV() { String response = target("/popularRepresentativeItems").request().get(String.class); Assert.assertEquals(2, response.split("\n").length); }
.queryParam("track", keywords) .request(MediaType.APPLICATION_JSON_TYPE) .header(HttpHeaders.HOST, "stream.twitter.com") .header(HttpHeaders.USER_AGENT, "Jersey/2.0") .header(HttpHeaders.ACCEPT_ENCODING, "gzip") .get(); LOGGER.log(Level.WARNING, "Error connecting to Twitter Streaming API: " + response.getStatus()); msgListener.onError(); return; final ChunkedInput<Message> chunks = response.readEntity(new GenericType<ChunkedInput<Message>>() { }); try {
@Test public void getSegments() throws Exception { String segmentsPath = "/tables/" + TABLE_NAME + "/segments"; IndexSegment defaultSegment = _indexSegments.get(0); TableSegments tableSegments = _webTarget.path(segmentsPath).request().get(TableSegments.class); Assert.assertNotNull(tableSegments); List<String> segmentNames = tableSegments.getSegments(); Assert.assertNotNull(segmentNames); Assert.assertEquals(segmentNames.size(), 1); Assert.assertEquals(segmentNames.get(0), _indexSegments.get(0).getSegmentName()); IndexSegment secondSegment = setUpSegment("0"); tableSegments = _webTarget.path(segmentsPath).request().get(TableSegments.class); Assert.assertNotNull(tableSegments); segmentNames = tableSegments.getSegments(); Assert.assertNotNull(segmentNames); Assert.assertEquals(segmentNames.size(), 2); Assert.assertTrue(segmentNames.contains(defaultSegment.getSegmentName())); Assert.assertTrue(segmentNames.contains(secondSegment.getSegmentName())); // No such table Response response = _webTarget.path("/tables/noSuchTable/segments").request().get(Response.class); Assert.assertNotNull(response); Assert.assertEquals(response.getStatus(), Response.Status.NOT_FOUND.getStatusCode()); }
private JsonNode getJsonNodeFromURIGet(URI uri) throws IOException { LOG.info("Executing GET against " + uri + "..."); WebTarget webTarget = client.target(uri); Invocation.Builder invocationBuilder = webTarget.request(MediaType.APPLICATION_JSON); Response response = invocationBuilder.get(); int statusCode = response.getStatus(); if (statusCode != Response.Status.OK.getStatusCode()) { throw new HTTPException(statusCode); } // This API folds information as the value to an "items" attribute. return new ObjectMapper().readTree(response.readEntity(String.class)).get("items"); }