use of org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder in project scheduling by ow2-proactive.
the class DataSpaceClient method metadata.
@Override
public Map<String, String> metadata(IRemoteSource source) throws NotConnectedException, PermissionException {
StringBuffer uriTmpl = (new StringBuffer()).append(restDataspaceUrl).append(source.getDataspace().value());
ResteasyClient client = new ResteasyClientBuilder().providerFactory(providerFactory).httpEngine(httpEngine).build();
ResteasyWebTarget target = client.target(uriTmpl.toString()).path(source.getPath());
Response response = null;
try {
response = target.request().header("sessionid", sessionId).head();
if (response.getStatus() != HttpURLConnection.HTTP_OK) {
if (response.getStatus() == HttpURLConnection.HTTP_UNAUTHORIZED) {
throw new NotConnectedException("User not authenticated or session timeout.");
} else {
throw new RuntimeException(String.format("Cannot get metadata from %s in '%s' dataspace.", source.getPath(), source.getDataspace()));
}
}
MultivaluedMap<String, Object> headers = response.getHeaders();
Map<String, String> metaMap = Maps.newHashMap();
if (headers.containsKey(HttpHeaders.LAST_MODIFIED)) {
metaMap.put(HttpHeaders.LAST_MODIFIED, String.valueOf(headers.getFirst(HttpHeaders.LAST_MODIFIED)));
}
return metaMap;
} finally {
if (response != null) {
response.close();
}
}
}
use of org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder in project scheduling by ow2-proactive.
the class DataSpaceClient method create.
@Override
public boolean create(IRemoteSource source) throws NotConnectedException, PermissionException {
if (log.isDebugEnabled()) {
log.debug("Trying to create file " + source);
}
StringBuffer uriTmpl = (new StringBuffer()).append(restDataspaceUrl).append(source.getDataspace().value());
ResteasyClient client = new ResteasyClientBuilder().providerFactory(providerFactory).httpEngine(httpEngine).build();
ResteasyWebTarget target = client.target(uriTmpl.toString()).path(source.getPath());
Response response = null;
try {
Invocation.Builder request = target.request();
request.header("sessionid", sessionId);
Form form = new Form();
form.param("mimetype", source.getType().getMimeType());
response = request.post(Entity.form(form));
if (response.getStatus() != HttpURLConnection.HTTP_OK) {
if (response.getStatus() == HttpURLConnection.HTTP_UNAUTHORIZED) {
throw new NotConnectedException("User not authenticated or session timeout.");
} else {
throw new RuntimeException("Cannot create file(s). Status code:" + response.getStatus());
}
}
if (log.isDebugEnabled()) {
log.debug("File creation " + source + " performed with success");
}
return true;
} finally {
if (response != null) {
response.close();
}
}
}
use of org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder in project eap-additional-testsuite by jboss-set.
the class ApacheHttpClient432TestCase method apacheHttpClient4EngineServletTest.
@Test
@OperateOnDeployment(DEPLOYMENT)
public void apacheHttpClient4EngineServletTest(@ArquillianResource URL url) throws Exception {
SocketConfig socketConfig = SocketConfig.custom().setTcpNoDelay(true).setSoKeepAlive(true).setSoReuseAddress(true).build();
PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager();
connManager.setMaxTotal(100);
connManager.setDefaultMaxPerRoute(100);
connManager.setDefaultSocketConfig(socketConfig);
RequestConfig defaultRequestConfig = RequestConfig.custom().setSocketTimeout(2000).setConnectTimeout(100).setConnectionRequestTimeout(3000).setStaleConnectionCheckEnabled(true).build();
CloseableHttpClient httpClient = HttpClients.custom().setDefaultRequestConfig(defaultRequestConfig).setConnectionManager(connManager).build();
final ClientHttpEngine executor;
executor = new ApacheHttpClient43Engine(httpClient);
ResteasyClient client = new ResteasyClientBuilder().httpEngine(executor).build();
final ApacheHttpClient43Resource proxy = client.target("http://127.0.0.1:8080/" + ApacheHttpClient432TestCase.class.getSimpleName()).proxy(ApacheHttpClient43Resource.class);
WebTarget target = client.target("http://127.0.0.1:8080/" + ApacheHttpClient432TestCase.class.getSimpleName() + "/test2");
Response response = target.request().get();
Assert.assertEquals(HttpResponseCodes.SC_OK, response.getStatus());
try {
Response s = proxy.get();
assertEquals(200, s.getStatus());
} catch (ProcessingException e) {
logger.warn("Exception occured." + e);
} finally {
if (response != null) {
response.close();
}
}
}
use of org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder in project eap-additional-testsuite by jboss-set.
the class ApacheHttpClient43TestCase method createEngine.
@SuppressWarnings(value = "unchecked")
private ResteasyClient createEngine(Class engine) {
RequestConfig reqConfig = // apache HttpClient specific
RequestConfig.custom().setConnectTimeout(5000).setSocketTimeout(5000).setConnectionRequestTimeout(5000).build();
CloseableHttpClient httpClient = HttpClientBuilder.create().setDefaultRequestConfig(reqConfig).setMaxConnTotal(3).build();
final ClientHttpEngine executor;
if (engine.isAssignableFrom(ApacheHttpClient43Engine.class)) {
executor = new ApacheHttpClient43Engine(httpClient);
} else {
executor = new URLConnectionEngine();
}
ResteasyClient client = new ResteasyClientBuilder().httpEngine(executor).build();
return client;
}
use of org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder in project eap-additional-testsuite by jboss-set.
the class JaxbProviderDeserializationSecurityCheckTestCase method doRequestAndExpectIllegalTypeMessage.
private void doRequestAndExpectIllegalTypeMessage(String nastyJson) {
ResteasyClient client = null;
Response response = null;
try {
client = new ResteasyClientBuilder().build();
Invocation.Builder request = client.target(url + "rest/jaxb/bad").request();
response = request.post(Entity.entity(nastyJson, MediaType.APPLICATION_JSON_TYPE));
Assert.assertEquals("The request should fail because of security reasons!", 400, response.getStatus());
Assert.assertTrue("The response should contain \"Illegal type\"", response.readEntity(String.class).contains("Illegal type"));
} finally {
response.close();
client.close();
}
}
Aggregations