private EurekaHttpResponse<InstanceInfo> getInstanceInternal(String urlPath) { ClientResponse response = null; try { Builder requestBuilder = jerseyClient.resource(serviceUrl).path(urlPath).getRequestBuilder(); addExtraHeaders(requestBuilder); response = requestBuilder.accept(MediaType.APPLICATION_JSON_TYPE).get(ClientResponse.class); InstanceInfo infoFromPeer = null; if (response.getStatus() == Status.OK.getStatusCode() && response.hasEntity()) { infoFromPeer = response.getEntity(InstanceInfo.class); } return anEurekaHttpResponse(response.getStatus(), InstanceInfo.class) .headers(headersOf(response)) .entity(infoFromPeer) .build(); } finally { if (logger.isDebugEnabled()) { logger.debug("Jersey HTTP GET {}/{}; statusCode={}", serviceUrl, urlPath, response == null ? "N/A" : response.getStatus()); } if (response != null) { response.close(); } } }
@Override public EurekaHttpResponse<Void> register(InstanceInfo info) { String urlPath = "apps/" + info.getAppName(); ClientResponse response = null; try { Builder resourceBuilder = jerseyClient.resource(serviceUrl).path(urlPath).getRequestBuilder(); addExtraHeaders(resourceBuilder); response = resourceBuilder .header("Accept-Encoding", "gzip") .type(MediaType.APPLICATION_JSON_TYPE) .accept(MediaType.APPLICATION_JSON) .post(ClientResponse.class, info); return anEurekaHttpResponse(response.getStatus()).headers(headersOf(response)).build(); } finally { if (logger.isDebugEnabled()) { logger.debug("Jersey HTTP POST {}/{} with instance {}; statusCode={}", serviceUrl, urlPath, info.getId(), response == null ? "N/A" : response.getStatus()); } if (response != null) { response.close(); } } }
@Override public EurekaHttpResponse<Void> statusUpdate(String asgName, ASGStatus newStatus) { ClientResponse response = null; try { String urlPath = "asg/" + asgName + "/status"; response = jerseyApacheClient.resource(serviceUrl) .path(urlPath) .queryParam("value", newStatus.name()) .header(PeerEurekaNode.HEADER_REPLICATION, "true") .put(ClientResponse.class); return EurekaHttpResponse.status(response.getStatus()); } finally { if (response != null) { response.close(); } } }
client = Client.create() ; WebResource webResource = client.resource(url); response = webResource.accept(EXPECTED_MIME_TYPE) .get(ClientResponse.class); LOG.debug("getTopologyList():calling " + url); LOG.debug("getTopologyList():response.getStatus()= " + response.getStatus()); if (response.getStatus() == 200) { String jsonString = response.getEntity(String.class); Gson gson = new GsonBuilder().setPrettyPrinting().create(); TopologyListResponse topologyListResponse = gson.fromJson(jsonString, TopologyListResponse.class); if (topologyListResponse != null) { if (topologyListResponse.getTopologyList() != null) { for(Topology topology : topologyListResponse.getTopologyList()) { String toplogyName = topology.getName() ; LOG.debug("getTopologyList():Found topology " + toplogyName); LOG.debug("getTopologyList():topology Name=[" + topology.getName() + "], topologyNameMatching=[" + topologyNameMatching + "]"); if (toplogyName != null) { client.destroy();
public static void postPage( String webAppAddr, String webAppPort,String value, Object[] selectedValues) { Client httpClient = Client.create(); String webappURL = getWebAppURI(webAppAddr, webAppPort); WebResource webResource = httpClient.resource(webappURL + "/saveNewInspectedPage"); InspectPage requestEntity = new InspectPage(value, Arrays.asList(selectedValues)); Gson gson = new Gson(); ClientResponse response = webResource.type(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON).post(ClientResponse.class, gson.toJson(requestEntity)); int statusCode = response.getStatus(); LOG.info("Client response code: " + statusCode); }
public static boolean sendMessage(String email, String subject, String text) { if (email.isEmpty()) { logger.info("Email is not sent because the address is empty"); return false; } Client client = Client.create(); client.addFilter(new HTTPBasicAuthFilter("api", ConfigSettings.instance.getMailgunApiKey())); String domain = ConfigSettings.instance.getMailgunDomain(); WebResource webResource = client.resource("https://api.mailgun.net/v3/" + domain + "/messages"); MultivaluedMapImpl formData = new MultivaluedMapImpl(); formData.add("from", "XMage <postmaster@" + domain + '>'); formData.add("to", email); formData.add("subject", subject); formData.add("text", text); ClientResponse response = webResource.type(MediaType.APPLICATION_FORM_URLENCODED).post(ClientResponse.class, formData); boolean succeeded = response.getStatus() == 200; if (!succeeded) { logger.error("Error sending message to " + email + ". Status code: " + response.getStatus()); } return succeeded; } }
Client client = Client.create(config); WebResource webResource = client.resource(UriBuilder.fromUri(restprotocol + elastiCenterAddress + restpath).build()); System.out.println("Command Sent " + command + " : " + queryParams); ClientResponse response = webResource.queryParams(queryParams).accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); if (response.getStatus() >= 300) { if (debug) System.out.println("ElastiCenter returned error code : " + response.getStatus()); if (401 == response.getStatus()) { throw new InvalidCredentialsException("Please specify a valid API Key."); } else if (431 == response.getStatus()) { System.out.println("Command Response : " + jsonResponse); Gson gson = new Gson(); return gson.fromJson(jsonResponse, responeObj.getClass()); } else { return "Success";
@Override public boolean bind(ServiceDescriptor service) { ClientResponse response = null; try { List<String> customTagList = createCustomTagsFromProvidedClassList(); String requestAsJsonString = new Gson().toJson(new ConsulServiceDescription(service, tagableSystemProperties, customTagList)); WebResource webResource = Client.create() .resource(getRegistryUrl() + "/v1/agent/service/register"); response = webResource.accept("application/json") .put(ClientResponse.class, requestAsJsonString); if (response.getStatus() != 200) { logger.error("Registry returns status: " + response.getStatus()); return false; } return true; } catch (RuntimeException e) { logger.error("Could not bind service " + service); return false; } finally { closeResponseNullSafe(response); } }
public ProductListDto getProducts() { String path = resource.getURI().getPath(); LOG.debug("Product Entry in cache is not null...checking expiration date.."); Date cacheTillDate = entry.getCacheTillDate(); Date now = new Date(); LOG.debug("Product List is not stale..using cached value"); productList = (ProductListDto) entry.getObject(); } else { LOG.debug("Product List is stale..will request server for new Product List.."); LOG.debug("Fetching Product List from Service..."); ClientResponse response = resource.accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); if (response.getResponseStatus().equals(Status.OK)) { productList = response.getEntity(ProductListDto.class); String cacheDate = response.getMetadata().getFirst("Expires");
public static String getResponseAsString(String URI) { if (URI == null) { throw new IllegalStateException("URI cannot be blank"); } String response = null; webClient = Client.create(); try { webResource = webClient.resource(URI); response = webResource.accept(MediaType.APPLICATION_JSON_TYPE).get( String.class); } catch (ClientHandlerException e) { Throwable t = e.getCause(); if (t instanceof java.net.ConnectException) { log.warn("Connect exception trying to connect to [" + URI + "]. Make sure the service is running"); } else { log.error(ExceptionUtil.getStackTrace(e)); } } finally { if (webClient != null) { webClient.destroy(); } } return response; }
@Override public void run() { try { resource = c.resource(uri); bean = resource.accept(MediaType.APPLICATION_JSON_TYPE).get( String.class); byte[] data = bean.getBytes(Charset.forName("UTF-8")); sendOffset += data.length; ChunkImpl c = new ChunkImpl(type, "REST", sendOffset, data, adaptor); long rightNow = Calendar.getInstance(TimeZone.getTimeZone("UTC")) .getTimeInMillis(); c.addTag("timeStamp=\"" + rightNow + "\""); receiver.add(c); } catch (com.sun.jersey.api.client.ClientHandlerException e) { Throwable t = e.getCause(); if (t instanceof java.net.ConnectException) { log.warn("Connect exception trying to connect to " + uri + ". Make sure the service is running"); } else { log.error("RestAdaptor: Interrupted exception"); log.error(ExceptionUtil.getStackTrace(e)); } } catch (Exception e) { log.error("RestAdaptor: Interrupted exception"); log.error(ExceptionUtil.getStackTrace(e)); } } }
@Override public final void processTrial(Trial trial) { if (uploadUri.isPresent()) { WebResource resource = client.resource(uploadUri.get()); if (apiKey.isPresent()) { resource = resource.queryParam("key", apiKey.get().toString()); } boolean threw = true; try { // TODO(gak): make the json part happen automagically resource.type(APPLICATION_JSON_TYPE).post(gson.toJson(ImmutableList.of(trial))); // only set the run id if a result has been successfully uploaded runId = Optional.of(trial.run().id()); threw = false; } catch (ClientHandlerException e) { logUploadFailure(trial, e); } catch (UniformInterfaceException e) { logUploadFailure(trial, e); logger.fine("Failed upload response: " + e.getResponse().getStatus()); } finally { failure |= threw; } } }
public OrderDto getOrder(Long orderId) throws OrderNotFoundException, IOException { try { String path = resource.path(orderId.toString()).getURI().getPath(); CacheEntry entry = CacheManager.get(path); Builder wr = resource.path(orderId.toString()).accept(MediaType.APPLICATION_XML); wr.header("If-None-Match", entry.getEtag().getValue()); ClientResponse response = wr.get(ClientResponse.class); if (response.getResponseStatus().equals(Status.NOT_MODIFIED)) { LOG.debug("Order has not been modified..returning Cached Order..."); return (OrderDto) entry.getObject(); else if (response.getResponseStatus().equals(Status.OK)) { LOG.debug("Obtained full Order from Service...Caching it.."); OrderDto dto = response.getEntity(OrderDto.class); CacheManager.cache(path, new CacheEntry(dto, response.getEntityTag(), null)); LOG.debug("Order not found on server...removing from cache"); CacheManager.remove(path); throw new UniformInterfaceException(response); if (e.getResponse().getStatus() == Status.NOT_FOUND.getStatusCode()) { throw new OrderNotFoundException(e.getResponse().getEntity(String.class));
public FileVersioningConfiguration getAsFileVersioningConfigurationXml() { UriBuilder localUriBuilder = _uriBuilder.clone(); com.sun.jersey.api.client.WebResource resource = _client.resource( localUriBuilder.buildFromMap( _templateAndMatrixParameterValues ) ); com.sun.jersey.api.client.WebResource.Builder resourceBuilder = resource.getRequestBuilder(); resourceBuilder = resourceBuilder.accept( "application/xml" ); com.sun.jersey.api.client.ClientResponse response; response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class ); if ( response.getStatus() >= 400 ) { throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response .status( response.getClientResponseStatus() ).build() ); } return response.getEntity( FileVersioningConfiguration.class ); }
@Test public void shouldPickFirstXForwardedHostHeaderValueFromCommaOrCommaAndSpaceSeparatedList() { // when ClientResponse response = client.resource( getManageUri() ) .accept( APPLICATION_JSON ) .header( X_FORWARDED_HOST, "jimwebber.org, kathwebber.com,neo4j.org" ) .get( ClientResponse.class ); // then String entity = response.getEntity( String.class ); assertTrue( entity.contains( "http://jimwebber.org" ) ); assertFalse( entity.contains( "http://localhost" ) ); }
public ImageInspectResponse inspectImage(String imageId) throws DockerException, NotFoundException { WebResource webResource = client.resource(restEndpointUrl + String.format("/images/%s/json", imageId)); try { LOGGER.trace("GET: {}", webResource); return webResource.accept(MediaType.APPLICATION_JSON).get(ImageInspectResponse.class); } catch (UniformInterfaceException exception) { if (exception.getResponse().getStatus() == 404) { throw new NotFoundException(String.format("No such image %s", imageId)); } else if (exception.getResponse().getStatus() == 500) { throw new DockerException("Server error", exception); } else { throw new DockerException(exception); } } }
OAuthParameters params = new OAuthParameters().consumerKey(input.oauthConsumerKey).signatureMethod("HMAC-SHA1").version("1.0"); OAuthSecrets secrets = new OAuthSecrets().consumerSecret(input.oauthConsumerSecret); client.addFilter(new OAuthClientFilter(client.getProviders(), params, secrets)); Builder builder = client.resource(input.uri).type(input.contentType); builder.entity(input.body); try { ClientResponse cr = builder.accept(input.accept).method(input.method, ClientResponse.class); if (cr.getStatus() != 204 && cr.hasEntity()) { response.body = extractBody(cr); response.statusCode = cr.getStatus(); response.reasonPhrase = cr.getStatusInfo().getReasonPhrase(); response.headers = cr.getHeaders(); ClientResponse cr = ex.getResponse(); logger.error(String.format("Got unexpected http response - uri: %s, vipAddress: %s, status code: %s", input.getUri(), input.getVipAddress(), cr.getStatus()), ex); if(cr.getStatus() > 199 && cr.getStatus() < 300) {
@Override public void register( final Runner runner ) { WebResource resource = Client.create().resource( coordinatorFig.getEndpoint() ); resource = addQueryParameters( resource, project, runner ); Boolean result = resource.path( coordinatorFig.getRunnersRegisterPath() ) .type( MediaType.APPLICATION_JSON ).post( Boolean.class, runner ); LOG.debug( "Got back results from register post = {}", result ); }
client.addFilter( data.basicAuthentication ); builder = builder.header( data.headerNames[i], value ); if ( "Content-Type".equals( data.headerNames[i] ) ) { contentType = value; response = builder.get( ClientResponse.class ); } else if ( data.method.equals( RestMeta.HTTP_METHOD_POST ) ) { if ( null != contentType ) { response = builder.type( contentType ).post( ClientResponse.class, entityString ); } else { response = builder.type( data.mediaType ).post( ClientResponse.class, entityString ); response = builder.type( contentType ).put( ClientResponse.class, entityString ); } else { response = builder.type( data.mediaType ).put( ClientResponse.class, entityString ); response = builder.delete( ClientResponse.class ); } else if ( data.method.equals( RestMeta.HTTP_METHOD_HEAD ) ) { response = builder.head(); } else if ( data.method.equals( RestMeta.HTTP_METHOD_OPTIONS ) ) { response = builder.options( ClientResponse.class ); } else if ( data.method.equals( RestMeta.HTTP_METHOD_PATCH ) ) { if ( null != contentType ) { response = builder.type( contentType ).method( RestMeta.HTTP_METHOD_PATCH, ClientResponse.class, entityString ); } else { response = builder.type( data.mediaType ).method( RestMeta.HTTP_METHOD_PATCH, ClientResponse.class, entityString );
@Override public String getAllEntities(String sessionToken, String entityClassName) { log.debug("\n\nFinding all Entities... "); WebResource.Builder queryBuilder = webResource .path(Constants.KUNDERA_API_PATH + Constants.JPA_QUERY_RESOURCE_PATH + "/" + entityClassName + "/all") .accept(mediaType).type(mediaType).header(Constants.SESSION_TOKEN_HEADER_NAME, sessionToken); ClientResponse queryResponse = (ClientResponse) queryBuilder.get(ClientResponse.class); log.debug("Find All Response:" + queryResponse.getStatus()); InputStream is = queryResponse.getEntityInputStream(); // List books = (List) JAXBUtils.toObject(is, ArrayList.class, // MediaType.APPLICATION_XML); String allEntitiesStr = StreamUtils.toString(is); log.debug("Found All Entities:" + allEntitiesStr); return allEntitiesStr; }