Refine search
/** * Creates a new Invocation.Builder for the given WebTarget with the headers added to the builder. * * @param webTarget the target for the request * @return the builder for the target with the headers added */ protected Invocation.Builder getRequestBuilder(final WebTarget webTarget) { final Invocation.Builder requestBuilder = webTarget.request(); headers.entrySet().stream().forEach(e -> requestBuilder.header(e.getKey(), e.getValue())); return requestBuilder; }
@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(); } } }
public static void main(String[] args) { try { System.out.println("\"Hello World\" Jersey OpenTracing Example App"); prepare(); final ResourceConfig resourceConfig = new ResourceConfig(TracedResource.class, OpenTracingFeature.class, ReqFilterA.class, ReqFilterB.class, RespFilterA.class, RespFilterB.class); final HttpServer server = GrizzlyHttpServerFactory.createHttpServer(BASE_URI, resourceConfig, false); Runtime.getRuntime().addShutdownHook(new Thread(server::shutdownNow)); server.start(); System.out.println(String.format("Application started.\nTry out %s/application.wadl\n" + "Stop the application using CTRL+C", BASE_URI)); // do the first "example" request with tracing-enabled client to show something in Jaegger UI, // include some weird headers and accepted types, that will be visible in the span's tags Client client = ClientBuilder.newBuilder().register(OpenTracingFeature.class).build(); client.target(BASE_URI).path("resource/managedClient").request() .accept("text/plain", "application/json", "*/*") .header("foo", "bar") .header("foo", "baz") .header("Hello", "World").get(); Thread.currentThread().join(); } catch (IOException | InterruptedException ex) { Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex); } }
private Invocation.Builder prepareHandshakeRequest() { final Invocation.Builder request = target.request(SseFeature.SERVER_SENT_EVENTS_TYPE); if (lastEventId != null && !lastEventId.isEmpty()) { request.header(SseFeature.LAST_EVENT_ID_HEADER, lastEventId); } if (disableKeepAlive) { request.header("Connection", "close"); } return request; }
@Override public InputStream saveMultiple(final String... images) throws DockerException, IOException, InterruptedException { final WebTarget resource = resource().path("images").path("get"); for (final String image : images) { resource.queryParam("names", urlEncode(image)); } return request( GET, InputStream.class, resource, resource.request(APPLICATION_JSON_TYPE).header("X-Registry-Auth", authHeader( registryAuthSupplier.authFor(images[0]))) ); }
@SuppressFBWarnings("NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE") @Override public String build(final Path directory, final String name, final String dockerfile, final ProgressHandler handler, final BuildParam... params) throws DockerException, InterruptedException, IOException { checkNotNull(handler, "handler"); WebTarget resource = noTimeoutResource().path("build"); for (final BuildParam param : params) { resource = resource.queryParam(param.name(), param.value()); } if (name != null) { resource = resource.queryParam("t", name); } if (dockerfile != null) { resource = resource.queryParam("dockerfile", dockerfile); } // Convert auth to X-Registry-Config format final RegistryConfigs registryConfigs = registryAuthSupplier.authForBuild(); final BuildProgressHandler buildHandler = new BuildProgressHandler(handler); try (final CompressedDirectory compressedDirectory = CompressedDirectory.create(directory); final InputStream fileStream = Files.newInputStream(compressedDirectory.file())) { requestAndTail(POST, buildHandler, resource, resource.request(APPLICATION_JSON_TYPE) .header("X-Registry-Config", authRegistryHeader(registryConfigs)), Entity.entity(fileStream, "application/tar")); return buildHandler.getImageId(); } }
public final void forwardEvent(Event event, Position position, Set<Long> users) { Invocation.Builder requestBuilder = Context.getClient().target(url).request(); if (header != null && !header.isEmpty()) { for (Map.Entry<String, String> entry : splitKeyValues(header, ":").entries()) { requestBuilder = requestBuilder.header(entry.getKey(), entry.getValue()); } } executeRequest(event, position, users, requestBuilder.async()); }
@Override public void updateService(final String serviceId, final Long version, final ServiceSpec spec, final RegistryAuth config) throws DockerException, InterruptedException { assertApiVersionIsAbove("1.24"); try { WebTarget resource = resource().path("services").path(serviceId).path("update"); resource = resource.queryParam("version", version); request(POST, String.class, resource, resource.request(APPLICATION_JSON_TYPE) .header("X-Registry-Auth", authHeader(config)), Entity.json(spec)); } catch (DockerRequestException e) { switch (e.status()) { case 404: throw new ServiceNotFoundException(serviceId); default: throw e; } } }
private JsonNode postJsonResponse(final String pathSuffix, final JsonNode schema, final String schemaDescription) throws SchemaNotFoundException { 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 builder = client.target(url); final Response response = builder.request().accept(MediaType.APPLICATION_JSON).header(CONTENT_TYPE_HEADER, SCHEMA_REGISTRY_CONTENT_TYPE).post(Entity.json(schema.toString())); final int responseCode = response.getStatus(); if (responseCode == Response.Status.NOT_FOUND.getStatusCode()) { continue; } if(responseCode == Response.Status.OK.getStatusCode()) { final JsonNode responseJson = response.readEntity(JsonNode.class); return responseJson; } } throw new SchemaNotFoundException("Failed to retrieve Schema with " + schemaDescription + " from any of the Confluent Schema Registry URL's provided; failure response message: " + errorMessage); }
@Test public void shouldExecuteStreamingQueryWithV1ContentType() { final KsqlRequest request = new KsqlRequest( String.format("SELECT * from %s;", PAGE_VIEW_STREAM), Collections.emptyMap(), null); try (final Response response = restClient.target(REST_APP.getHttpListener()) .path("query") .request(Versions.KSQL_V1_JSON) .header("Content-Type", Versions.KSQL_V1_JSON) .post(Entity.json(request))) { assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); } }
@Test public void shouldExecuteStreamingQueryWithJsonContentType() { final KsqlRequest request = new KsqlRequest( String.format("SELECT * from %s;", PAGE_VIEW_STREAM), Collections.emptyMap(), null); try (final Response response = restClient.target(REST_APP.getHttpListener()) .path("query") .request(MediaType.APPLICATION_JSON_TYPE) .header("Content-Type", MediaType.APPLICATION_JSON_TYPE) .post(Entity.json(request))) { assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); } }
@Override public void sendSync(long userId, Event event, Position position) { final User user = Context.getPermissionsManager().getUser(userId); if (user.getAttributes().containsKey("notificationTokens")) { Notification notification = new Notification(); notification.body = NotificationFormatter.formatShortMessage(userId, event, position).trim(); Message message = new Message(); message.tokens = user.getString("notificationTokens").split("[, ]"); message.notification = notification; Context.getClient().target(URL).request() .header("Authorization", "key=" + key) .async().post(Entity.json(message), new InvocationCallback<Object>() { @Override public void completed(Object o) { } @Override public void failed(Throwable throwable) { LOGGER.warn("Firebase notification error", throwable); } }); } }
@Override public void push(final String image, final ProgressHandler handler, final RegistryAuth registryAuth) throws DockerException, InterruptedException { final ImageRef imageRef = new ImageRef(image); WebTarget resource = resource().path("images").path(imageRef.getImage()).path("push"); if (imageRef.getTag() != null) { resource = resource.queryParam("tag", imageRef.getTag()); } try { requestAndTail(POST, handler, resource, resource.request(APPLICATION_JSON_TYPE) .header("X-Registry-Auth", authHeader(registryAuth))); } catch (DockerRequestException e) { switch (e.status()) { case 404: throw new ImageNotFoundException(image, e); default: throw e; } } }
@Override public void pull(final String image, final RegistryAuth registryAuth, final ProgressHandler handler) throws DockerException, InterruptedException { final ImageRef imageRef = new ImageRef(image); WebTarget resource = resource().path("images").path("create"); resource = resource.queryParam("fromImage", imageRef.getImage()); if (imageRef.getTag() != null) { resource = resource.queryParam("tag", imageRef.getTag()); } try { requestAndTail(POST, handler, resource, resource .request(APPLICATION_JSON_TYPE) .header("X-Registry-Auth", authHeader(registryAuth))); } catch (DockerRequestException e) { switch (e.status()) { case 404: throw new ImageNotFoundException(image, e); default: throw e; } } }
private Invocation.Builder buildRequest(MediaType... mediaTypes) { final Invocation.Builder request = (mediaTypes != null && mediaTypes.length > 0) ? target.request(mediaTypes) : target.request(); if (lastEventId != null && !lastEventId.isEmpty()) { request.header(SseConstants.LAST_EVENT_ID_HEADER, lastEventId); } return request; }
@Override public ServiceCreateResponse createService(final ServiceSpec spec, final RegistryAuth config) throws DockerException, InterruptedException { assertApiVersionIsAbove("1.24"); final WebTarget resource = resource().path("services").path("create"); try { return request(POST, ServiceCreateResponse.class, resource, resource.request(APPLICATION_JSON_TYPE) .header("X-Registry-Auth", authHeader(config)), Entity.json(spec)); } catch (DockerRequestException e) { switch (e.status()) { case 406: throw new DockerException("Server error or node is not part of swarm.", e); case 409: throw new DockerException("Name conflicts with an existing object.", e); default: throw e; } } }
private Response doPostRequest(String location, String auth, String req) { Entity<?> body = Entity.entity(req, MediaType.APPLICATION_JSON); Response r = this.client.target(location) .request() .header(HttpHeaders.AUTHORIZATION, auth) .accept(MediaType.APPLICATION_JSON) .acceptEncoding(CompressInterceptor.GZIP) .post(body); if (r.getMediaType() != null) { // Append charset assert MediaType.APPLICATION_JSON_TYPE.equals(r.getMediaType()); r.getHeaders().putSingle(HttpHeaders.CONTENT_TYPE, r.getMediaType().withCharset(CHARSET)); } gremlinInputHistogram.update(req.length()); gremlinOutputHistogram.update(r.getLength()); return r; }