/** * Create a new custom-configured {@link JerseyClient} instance. * * @return new configured Jersey client instance. * @since 2.5 */ public static JerseyClient createClient() { return new JerseyClientBuilder().build(); }
/** * Create a new custom-configured {@link JerseyClient} instance. * * @param configuration data used to provide initial configuration for the new * Jersey client instance. * @return new configured Jersey client instance. * @since 2.5 */ public static JerseyClient createClient(Configuration configuration) { return new JerseyClientBuilder().withConfig(configuration).build(); }
protected JerseyClientBuilder clientBuilder() { return new JerseyClientBuilder() .register(new JacksonFeature(getObjectMapper())) .property(ClientProperties.CONNECT_TIMEOUT, DEFAULT_CONNECT_TIMEOUT_MS) .property(ClientProperties.READ_TIMEOUT, DEFAULT_READ_TIMEOUT_MS) .property(HttpUrlConnectorProvider.SET_METHOD_WORKAROUND, true); } }
client = new JerseyClientBuilder().withConfig(clientConfig).sslContext(sslContext).build(); } else { log.info("Created new Jersey Client without SSL connecting to {} ", config.getUrl()); client = JerseyClientBuilder.createClient(clientConfig);
public <RootResponse> Response<RootResponse> create(@NonNull String url, @NonNull Class<RootResponse> clazz, ClientConfiguration clientConfigurationOrNull) { Optional<ClientConfiguration> clientConfiguration = Optional.ofNullable(clientConfigurationOrNull); JerseyClient newClient = jerseyClientBuilder.register(SseFeature.class).withConfig(clientConfig).build(); newClient.register(LastEventIdHeaderFilter.class); if (clientConfigurationOrNull != null && !Strings.isNullOrEmpty(clientConfigurationOrNull.getAuthorization())) { newClient.register(new AuthHeaderFilter(clientConfigurationOrNull.getAuthorization())); } MediaType mediaType = clientConfiguration.map(c -> c.getMediaType()).orElse(MediaType.APPLICATION_JSON_TYPE); ResponseBuilder responseBuilder = new ResponseBuilder(newClient, objectMapper, mediaType); JerseyWebTarget webTarget = newClient.target(url); Builder requestBuilder = webTarget.request(mediaType); String readEntity = requestBuilder.get().readEntity(String.class); return responseBuilder.buildResponse(readEntity, clazz, URI.create(url)).get(); }
/** * Returns a new HTTP Jersey {@link Client} for performing HTTP requests against the tested * Dropwizard server. The client can be reused across different tests and automatically * closed along with the server. The client can be augmented by overriding the * {@link #clientBuilder()} method. * * @return a new {@link Client} managed by the extension. */ public Client client() { synchronized (this) { if (client == null) { client = clientBuilder().build(); } return client; } }
/** * Create the application's Jersey Client builder. * * @return Our configured client builder. */ @Override public JerseyClientBuilder get() { JerseyClientBuilder newBuilder = new JerseyClientBuilder(); newBuilder.register(JacksonFeature.class); newBuilder.register(SecurityFeature.class); return newBuilder; }
@Test public void dotest() { final Client client = new JerseyClientBuilder().build(); WebTarget target = client.target("http://localhost:9998"); final Response response = target.path("health").request().get(); final String json = response.readEntity(String.class); }
public Invocation.Builder getServiceInstanceDetails() { Client client = JerseyClientBuilder.newClient(); WebTarget target= client.target(marathonClientConfiguration.getMarathonApiUrl() + "/v2/apps"+ marathonClientConfiguration.getMarathonAppNameSpace()); return target.request(); }
@Override public ClientBuilder readTimeout(long timeout, TimeUnit unit) { if (timeout < 0) { throw new IllegalArgumentException("Negative timeout."); } this.property(ClientProperties.READ_TIMEOUT, Math.toIntExact(unit.toMillis(timeout))); return this; }
protected <T> T invoke(String url, String method, TypeReference<T> returnType, MultivaluedMap<String, String> formParams, Map<String, String> queryParams) throws IOException { url = url.replace("{repoOwner}", repoOwner).replace("{repoName}", repoName); ClientConfig configuration = new ClientConfig(); JerseyClient client = JerseyClientBuilder.createClient(configuration); client.register(auth); JerseyWebTarget target = client.target(url); if (queryParams != null) { for (String key : queryParams.keySet()) { target = target.queryParam(key, queryParams.get(key)); } } Response response = target.request("application/json").build(method, formParams != null ? Entity.form(formParams) : null).invoke(); //System.out.println("Status: " + response.getStatus()); String result = response.readEntity(String.class); //System.out.println("Result (string): " + result); ObjectMapper objectMapper = new ObjectMapper(); objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); return objectMapper.readValue(result, returnType); } }
/** * Returns a new HTTP Jersey {@link Client} for performing HTTP requests against the tested * Dropwizard server. The client can be reused across different tests and automatically * closed along with the server. The client can be augmented by overriding the * {@link #clientBuilder()} method. * * @return a new {@link Client} managed by the rule. */ public Client client() { synchronized (this) { if (client == null) { client = clientBuilder().build(); } return client; } }
public ClientStarter(@NonNull ObjectMapper objectMapper) { this(new JerseyClientBuilder(), objectMapper.copy()); }
@Override protected Object enrichByType(Class<?> clazz, Method method, ArquillianResteasyResource annotation, Consumes consumes, Produces produces) { Object value; Client client = JerseyClientBuilder.newClient(); WebTarget webTarget = client.target(getBaseURL() + annotation.value()); final Map<String, String> headers = getHeaders(clazz, method); if (!headers.isEmpty()) { webTarget.register(new HeaderFilter(headers)); } JerseyWebTarget jerseyWebTarget = (JerseyWebTarget) webTarget; if (WebTarget.class.isAssignableFrom(clazz)) { value = jerseyWebTarget; } else { final Class<?> parameterType; try { final Annotation[] methodDeclaredAnnotations = method.getDeclaredAnnotations(); // This is test method so if it only contains @Test annotation then we don't need to hassel with substitutions parameterType = methodDeclaredAnnotations.length <= 1 ? clazz : ClassModifier.getModifiedClass(clazz, methodDeclaredAnnotations); } catch (Exception e) { throw new RuntimeException("Cannot substitute annotations for method " + method.getName(), e); } value = WebResourceFactory.newResource(parameterType, jerseyWebTarget); } return value; }
@Override public ClientBuilder readTimeout(long timeout, TimeUnit unit) { if (timeout < 0) { throw new IllegalArgumentException("Negative timeout."); } this.property(ClientProperties.READ_TIMEOUT, Math.toIntExact(unit.toMillis(timeout))); return this; }
public JaxrsTestingHttpProcessor(URI baseUri, Object... jaxRsSingletons) { Set<Object> jaxRsSingletonsSet = ImmutableSet.copyOf(jaxRsSingletons); Application application = new Application() { @Override public Set<Object> getSingletons() { return jaxRsSingletonsSet; } }; TestContainer testContainer = new InMemoryTestContainerFactory() .create(baseUri, DeploymentContext.newInstance(application)); ClientConfig clientConfig = testContainer.getClientConfig(); this.client = JerseyClientBuilder.createClient(clientConfig); }
/** * Create a new custom-configured {@link JerseyClient} instance. * * @return new configured Jersey client instance. * @since 2.5 */ public static JerseyClient createClient() { return new JerseyClientBuilder().build(); }
/** * Create a new custom-configured {@link JerseyClient} instance. * * @param configuration data used to provide initial configuration for the new * Jersey client instance. * @return new configured Jersey client instance. * @since 2.5 */ public static JerseyClient createClient(Configuration configuration) { return new JerseyClientBuilder().withConfig(configuration).build(); }
protected JerseyClientBuilder clientBuilder() { return new JerseyClientBuilder() .register(new JacksonFeature(getObjectMapper())) .property(ClientProperties.CONNECT_TIMEOUT, DEFAULT_CONNECT_TIMEOUT_MS) .property(ClientProperties.READ_TIMEOUT, DEFAULT_READ_TIMEOUT_MS) .property(HttpUrlConnectorProvider.SET_METHOD_WORKAROUND, true); } }
/** * Create a new client instance. * * @return The created instance. */ @Override public Client get() { return builder.build(); }