@Override public TokenResult refreshAccessToken(final String refreshToken) { refreshTokenProperties.put(OAuth2Parameters.REFRESH_TOKEN, refreshToken); final Form form = new Form(); for (final Map.Entry<String, String> entry : refreshTokenProperties.entrySet()) { form.param(entry.getKey(), entry.getValue()); } final Response response = client.target(refreshTokenUri) .request(MediaType.APPLICATION_JSON_TYPE) .post(Entity.entity(form, MediaType.APPLICATION_FORM_URLENCODED_TYPE)); if (response.getStatus() != 200) { throw new ProcessingException(LocalizationMessages.ERROR_FLOW_REQUEST_REFRESH_TOKEN(response.getStatus())); } this.tokenResult = response.readEntity(TokenResult.class); return tokenResult; }
private Optional<SignedJwt> getAndCacheAppTokenFromServer() { MultivaluedMap<String, String> formData = new MultivaluedHashMap<>(); formData.putSingle("grant_type", "client_credentials"); formData.putSingle("scope", "urn:opc:idm:__myscopes__"); Response tokenResponse = tokenEndpoint .request() .accept(MediaType.APPLICATION_JSON_TYPE) .post(Entity.form(formData)); if (tokenResponse.getStatusInfo().getFamily() == Response.Status.Family.SUCCESSFUL) { JsonObject response = tokenResponse.readEntity(JsonObject.class); String accessToken = response.getString(ACCESS_TOKEN_KEY); LOGGER.finest(() -> "Access token: " + accessToken); SignedJwt signedJwt = SignedJwt.parseToken(accessToken); this.appToken = signedJwt; this.appJwt = signedJwt.getJwt(); return Optional.of(signedJwt); } else { LOGGER.severe("Failed to obtain access token for application to read groups" + " from IDCS. Response code: " + tokenResponse.getStatus() + ", entity: " + tokenResponse.readEntity(String.class)); return Optional.empty(); } }
/** * Send message to webapp to refresh SearcherManagers for given projects. * This is used for partial reindex. * * @param subFiles list of directories to refresh corresponding SearcherManagers * @param host the host address to receive the configuration */ public void signalTorefreshSearcherManagers(List<String> subFiles, String host) { // subFile entries start with path separator so get basename // to convert them to project names. subFiles.stream().map(proj -> new File(proj).getName()).forEach(project -> { Response r = ClientBuilder.newClient() .target(host) .path("api") .path("v1") .path("system") .path("refresh") .request() .put(Entity.text(project)); if (r.getStatusInfo().getFamily() != Response.Status.Family.SUCCESSFUL) { LOGGER.log(Level.WARNING, "Could not refresh search manager for {0}", project); } }); }
@Test public void testPutBadJobStatus() throws IOException { Response resp = target(String.format("v1/jobs/%s/%s", MockJobProxy.JOB_INSTANCE_2_NAME, MockJobProxy.JOB_INSTANCE_2_ID)) .queryParam("status", "BADSTATUS").request().put(Entity.form(new Form())); assertEquals(400, resp.getStatus()); final Map<String, String> errorMessage = objectMapper.readValue(resp.readEntity(String.class), new TypeReference<Map<String, String>>() {}); assertTrue(errorMessage.get("message").contains("BADSTATUS")); resp.close(); }
URI lUri = request.getUri(); WebTarget resourceTarget = client.target(lUri); Invocation.Builder builder = resourceTarget.request(mediaType); builder.headers(newHeaders); builder.property(REQUEST_PROPERTY_FILTER_REUSED, "true"); invocation = builder.build(method); } else { invocation = builder.build(method, Entity.entity(request.getEntity(), request.getMediaType())); if (nextResponse.hasEntity()) { response.setEntityStream(nextResponse.readEntity(InputStream.class)); headers.putAll(nextResponse.getStringHeaders()); response.setStatus(nextResponse.getStatus()); return response.getStatus() != Response.Status.UNAUTHORIZED.getStatusCode();
public <V> T put(final String queryResourceUrl, final V request) { CompletableFuture<T> result = new CompletableFuture<>(); final WebTarget webResource = client.target(queryResourceUrl); return buildResponse(webResource .request(accept) .accept(accept) .put(Entity.entity(request, contentType),String.class)); } public T delete(final String queryResourceUrl) {
Response response = null; 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();
@Override public void run() { final Client resourceClient = ClientBuilder.newClient(); resourceClient.register(new MoxyJsonFeature()); final WebTarget messageStreamResource = resourceClient.target(App.getApiUri()).path("message/stream"); Message message = null; try { while (!cancelled && (message = messages.take()) != null) { msgListener.onMessage(message); final Response r = messageStreamResource.request().put(Entity.json(message)); if (r.getStatusInfo().getFamily() != Response.Status.Family.SUCCESSFUL) { LOGGER.warning("Unexpected PUT message response status code: " + r.getStatus()); } } if (message == null) { LOGGER.info("Timed out while waiting for a message."); } } catch (InterruptedException ex) { LOGGER.log(Level.WARNING, "Waiting for a message has been interrupted.", ex); } finally { readerHandle.cancel(true); msgListener.onComplete(); } } });
@Override public EurekaHttpResponse<Void> statusUpdate(String appName, String id, InstanceStatus newStatus, InstanceInfo info) { String urlPath = "apps/" + appName + '/' + id + "/status"; Response response = null; try { Builder requestBuilder = jerseyClient.target(serviceUrl) .path(urlPath) .queryParam("value", newStatus.name()) .queryParam("lastDirtyTimestamp", info.getLastDirtyTimestamp().toString()) .request(); addExtraProperties(requestBuilder); addExtraHeaders(requestBuilder); response = requestBuilder.put(Entity.entity("{}", MediaType.APPLICATION_JSON_TYPE)); // Jersey2 refuses to handle PUT with no body return anEurekaHttpResponse(response.getStatus()).headers(headersOf(response)).build(); } finally { if (logger.isDebugEnabled()) { logger.debug("Jersey2 HTTP PUT {}/{}; statusCode={}", serviceUrl, urlPath, response == null ? "N/A" : response.getStatus()); } if (response != null) { response.close(); } } }
@Test public void testNoTrain() { Assert.assertEquals(Response.Status.FORBIDDEN.getStatusCode(), target("/train").request().post(Entity.text(TrainTest.TRAIN_DATA)).getStatus()); }
@Override public EurekaHttpResponse<Void> statusUpdate(String asgName, ASGStatus newStatus) { Response response = null; try { String urlPath = "asg/" + asgName + "/status"; response = jerseyClient.target(serviceUrl) .path(urlPath) .queryParam("value", newStatus.name()) .request() .header(PeerEurekaNode.HEADER_REPLICATION, "true") .put(Entity.text("")); return EurekaHttpResponse.status(response.getStatus()); } finally { if (response != null) { response.close(); } } }
/** * Performs a POST using the specified url and entity body. * * @param uri the URI to post to * @param entity the item to post * @return the client response of the request */ public Response post(URI uri, Object entity) { // get the resource Invocation.Builder builder = client.target(uri).request().accept(MediaType.APPLICATION_JSON); // perform the request return builder.post(Entity.json(entity)); }
@Override protected AuthResponse execute(AuthCmd command) { WebTarget webResource = getBaseResource().path("/auth"); LOGGER.trace("POST: {}", webResource); Response response = webResource.request().accept(MediaType.APPLICATION_JSON) .post(entity(command.getAuthConfig(), MediaType.APPLICATION_JSON)); if (response.getStatus() == 401) { throw new UnauthorizedException("Unauthorized"); } return response.readEntity(AuthResponse.class); }
final Response response = wt.request() .property(OpenTracingFeature.SPAN_CONTEXT_PROPERTY, providedSpan.context()) // <--- span propagation .post(Entity.text("Hello")); final Response response2 = wt.request() .property(OpenTracingFeature.SPAN_CONTEXT_PROPERTY, childSpan.context()) // <--- span propagation .post(Entity.text("World")); childSpan.log("2st Response received from managed client"); return Response.ok("Result: " + response.getStatus() + ", " + response2.getStatus()).build();
final WebTarget metricsTarget = client.target(metricsCollectorUrl); final Invocation.Builder invocation = metricsTarget.request(); final Entity<String> entity = Entity.json(previousMetrics.toString()); getLogger().debug("Sending metrics {} to Ambari", new Object[]{entity.getEntity()}); final Response response = invocation.post(entity); if (response.getStatus() == Response.Status.OK.getStatusCode()) { final long completedMillis = TimeUnit.NANOSECONDS.toMillis(System.currentTimeMillis() - start); getLogger().info("Successfully sent metrics to Ambari in {} ms", new Object[]{completedMillis}); } else { final String responseEntity = response.hasEntity() ? response.readEntity(String.class) : "unknown error"; getLogger().error("Error sending metrics to Ambari due to {} - {}", new Object[]{response.getStatus(), responseEntity});
@Override protected Void execute(UpdateServiceCmd command) { WebTarget webResource = getBaseResource().path("/services/{id}/update") .resolveTemplate("id", command.getServiceId()) .queryParam("version", command.getVersion()); LOGGER.trace("POST: {}", webResource); webResource.request().accept(MediaType.APPLICATION_JSON) .post(entity(command.getServiceSpec(), MediaType.APPLICATION_JSON)).close(); return null; } }
/** * Issues a registration request for this NiFi instance for the instance at the baseApiUri. * * @param baseApiUri uri to register with * @return response */ public Response issueRegistrationRequest(String baseApiUri) { final URI uri = URI.create(String.format("%s/controller/users", baseApiUri)); // set up the query params MultivaluedHashMap entity = new MultivaluedHashMap(); entity.add("justification", "A Remote instance of NiFi has attempted to create a reference to this NiFi. This action must be approved first."); // get the resource return client.target(uri).request().post(Entity.form(entity)); } }
public String post( String path, ParameterMap<String, String> params ) { WebTarget webResource = httpClient.target( path ); Response response = webResource.request( MediaType.APPLICATION_JSON_TYPE ).post( Entity.form( convertMap( params ) ) ); return response.readEntity( String.class ); }