@Override Map<String, Object> userFromResource( String externalToken ) { return client.target( apiUrl ) .queryParam( "access_token", externalToken ) .request() .accept( MediaType.APPLICATION_JSON ) .get( Map.class ); }
private void init() { final ApacheConnectorProvider apacheConnectorProvider = new ApacheConnectorProvider(); final ClientConfig clientConfig = new ClientConfig().connectorProvider(apacheConnectorProvider); // transfer encoding should be set as jersey sets it on by default. clientConfig.property(ClientProperties.REQUEST_ENTITY_PROCESSING, enableChunkedEncoding ? RequestEntityProcessing.CHUNKED : RequestEntityProcessing.BUFFERED); client = ClientBuilder.newClient(clientConfig); target = client.target(urlString).path(PUT_PATH); if(sync) { // need to add an empty string else it is nto added as query param. target = target.queryParam("sync", "").queryParam("sync_timeout", syncTimeout); } if(responseType != ResponseType.None) { // need to add an empty string else it is nto added as query param. target = target.queryParam(responseType.value, ""); } LOG.info("target uri [{}]", target.getUri()); }
@Override public List<ImageSearchResult> searchImages(final String term) throws DockerException, InterruptedException { final WebTarget resource = resource().path("images").path("search").queryParam("term", term); return request(GET, IMAGES_SEARCH_RESULT_LIST, resource, resource.request(APPLICATION_JSON_TYPE)); }
@Test public void testFilteredPagination2() { newContext().performGenericQuery( new SQLTemplate(E3.class, "INSERT INTO utest.e4 (id) " + "values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10)")); Response response1 = target("/e4").queryParam("include", "id").queryParam("sort", "id") .queryParam("start", "2").queryParam("limit", "3").request().get(); assertEquals(Status.OK.getStatusCode(), response1.getStatus()); assertEquals("{\"data\":[{\"id\":6},{\"id\":8},{\"id\":10}],\"total\":5}", response1.readEntity(String.class)); }
@Test public void testRescorer() { List<IDCount> top = target("/mostActiveUsers").queryParam("rescorerParams", "foo").request() .accept(MediaType.APPLICATION_JSON_TYPE).get(LIST_ID_COUNT_TYPE); Assert.assertEquals(3, top.size()); Assert.assertEquals(7, top.get(0).getCount()); Assert.assertEquals(5, top.get(1).getCount()); }
private EurekaHttpResponse<Applications> getApplicationsInternal(String urlPath, String[] regions) { Response response = null; try { WebTarget webTarget = jerseyClient.target(serviceUrl).path(urlPath); if (regions != null && regions.length > 0) { webTarget = webTarget.queryParam("regions", StringUtil.join(regions)); } Builder requestBuilder = webTarget.request(); addExtraProperties(requestBuilder); addExtraHeaders(requestBuilder); response = requestBuilder.accept(MediaType.APPLICATION_JSON_TYPE).get(); Applications applications = null; if (response.getStatus() == Status.OK.getStatusCode() && response.hasEntity()) { applications = response.readEntity(Applications.class); } return anEurekaHttpResponse(response.getStatus(), applications).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 shouldCreateNewOrderAndGetBackValidatedOrder() { OrderBean inputOrder = new OrderBean(id(1L), 2L, OrderState.CREATED, Product.JUMPERS, 1, 1d); client = getClient(); //Add inventory required by the inventory service with enough items in stock to pass validation List<KeyValue<Product, Integer>> inventory = asList( new KeyValue<>(UNDERPANTS, 75), new KeyValue<>(JUMPERS, 10) ); sendInventory(inventory, Topics.WAREHOUSE_INVENTORY); //When we POST order and immediately GET on the returned location client.target(path.urlPost()).request(APPLICATION_JSON_TYPE).post(Entity.json(inputOrder)); returnedBean = client.target(path.urlGetValidated(1)).queryParam("timeout", MIN) .request(APPLICATION_JSON_TYPE).get(newBean()); //Then assertThat(returnedBean.getState()).isEqualTo(OrderState.VALIDATED); }
final void testOffset(String requestPath, int howMany, int offset, int expectedSize) { List<?> results = target(requestPath) .queryParam("howMany", Integer.toString(howMany)) .queryParam("offset", Integer.toString(offset)) .request() .accept(MediaType.APPLICATION_JSON_TYPE) .get(LIST_ID_VALUE_TYPE); Assert.assertEquals(expectedSize, results.size()); }
@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); .queryParam("timeout", MIN / 2) .request(APPLICATION_JSON_TYPE) .get(new GenericType<OrderBean>() { }); .queryParam("timeout", MIN / 2) .request(APPLICATION_JSON_TYPE) .get(new GenericType<OrderBean>() { });
.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 {
.request(APPLICATION_JSON_TYPE) .post(Entity.json(inputOrder)); System.out.printf("Response: %s %n", response.getStatus()); .queryParam("timeout", MIN / 2) .request(APPLICATION_JSON_TYPE) .get(newBean());
@Test public void testFilteredPagination1() { newContext().performGenericQuery( new SQLTemplate(E3.class, "INSERT INTO utest.e4 (id) " + "values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10)")); Response response1 = target("/e4").queryParam("include", "id").queryParam("sort", "id") .queryParam("start", "0").queryParam("limit", "2").request().get(); assertEquals(Status.OK.getStatusCode(), response1.getStatus()); assertEquals("{\"data\":[{\"id\":2},{\"id\":4}],\"total\":5}", response1.readEntity(String.class)); }
@Test public void testRescorer() { List<IDValue> normal = target("/recommendWithContext/U4/").queryParam("rescorerParams", "foo").request() .accept(MediaType.APPLICATION_JSON_TYPE).get(LIST_ID_VALUE_TYPE); Assert.assertEquals(1, normal.size()); Assert.assertEquals("I3", normal.get(0).getID()); Assert.assertEquals(2.0f * -0.2599307f, normal.get(0).getValue(), FLOAT_EPSILON); }
try { WebTarget webResource = jerseyClient.target(serviceUrl) .path(urlPath) .queryParam("status", info.getStatus().toString()) .queryParam("lastDirtyTimestamp", info.getLastDirtyTimestamp().toString()); if (overriddenStatus != null) { webResource = webResource.queryParam("overriddenstatus", overriddenStatus.name()); Builder requestBuilder = webResource.request(); addExtraHeaders(requestBuilder); response = requestBuilder.accept(MediaType.APPLICATION_JSON_TYPE).put(Entity.entity("{}", MediaType.APPLICATION_JSON_TYPE)); // Jersey2 refuses to handle PUT with no body InstanceInfo infoFromPeer = null; if (response.getStatus() == Status.CONFLICT.getStatusCode() && response.hasEntity()) { infoFromPeer = response.readEntity(InstanceInfo.class); return anEurekaHttpResponse(response.getStatus(), infoFromPeer).type(MediaType.APPLICATION_JSON_TYPE).build(); } finally { if (logger.isDebugEnabled()) { logger.debug("[heartbeat] Jersey HTTP PUT {}; statusCode={}", urlPath, response == null ? "N/A" : response.getStatus());
@Test public void shouldTimeoutGetIfNoResponseIsFound() { final Client client = ClientBuilder.newClient(); //Start the rest interface rest = new OrdersService("localhost"); rest.start(CLUSTER.bootstrapServers(), TestUtils.tempDirectory().getPath()); Paths paths = new Paths("localhost", rest.port()); //Then GET order should timeout try { client.target(paths.urlGet(1)) .queryParam("timeout", 100) //Lower the request timeout .request(APPLICATION_JSON_TYPE) .get(new GenericType<OrderBean>() { }); fail("Request should have failed as materialized view has not been updated"); } catch (ServerErrorException e) { assertThat(e.getMessage()).isEqualTo("HTTP 504 Gateway Timeout"); } }
final void testHowMany(String requestPath, int howMany, int expectedSize) { List<?> results = target(requestPath) .queryParam("howMany", Integer.toString(howMany)) .request() .accept(MediaType.APPLICATION_JSON_TYPE) .get(LIST_ID_VALUE_TYPE); Assert.assertEquals(expectedSize, results.size()); }
@Override protected CreateImageResponse execute(CreateImageCmd command) { WebTarget webResource = getBaseResource().path("/images/create").queryParam("repo", command.getRepository()) .queryParam("tag", command.getTag()).queryParam("fromSrc", "-"); if (command.getPlatform() != null) { webResource = webResource.queryParam("platform", command.getPlatform()); } LOGGER.trace("POST: {}", webResource); return webResource.request().accept(MediaType.APPLICATION_OCTET_STREAM_TYPE) .post(entity(command.getImageStream(), MediaType.APPLICATION_OCTET_STREAM), CreateImageResponse.class); } }
/** * Gets the content at the specified URI using the given query parameters. * * @param uri the URI to get the content of * @param queryParams the query parameters to use in the request * @return the client response resulting from getting the content of the URI */ public Response get(final URI uri, final Map<String, String> queryParams) { // perform the request WebTarget webTarget = client.target(uri); if (queryParams != null) { for (final Map.Entry<String, String> queryEntry : queryParams.entrySet()) { webTarget = webTarget.queryParam(queryEntry.getKey(), queryEntry.getValue()); } } return webTarget.request().accept(MediaType.APPLICATION_JSON).get(); }
@Override public LogStream attachContainer(final String containerId, final AttachParameter... params) throws DockerException, InterruptedException { checkNotNull(containerId, "containerId"); WebTarget resource = noTimeoutResource().path("containers").path(containerId).path("attach"); for (final AttachParameter param : params) { resource = resource.queryParam(param.name().toLowerCase(Locale.ROOT), String.valueOf(true)); } return getLogStream(POST, resource, containerId); }
@Test public void testGET_Root() { insert("e15", "long_id, name", "1, 'xxx'"); insert("e14", "e15_id, long_id, name", "1, 8, 'yyy'"); Response response1 = target("/e14").queryParam("include", "name").queryParam("include", "prettyName").request() .get(); assertEquals(Status.OK.getStatusCode(), response1.getStatus()); assertEquals("{\"data\":[{\"name\":\"yyy\",\"prettyName\":\"yyy_pretty\"}],\"total\":1}", response1.readEntity(String.class)); }