summaryrefslogtreecommitdiffstats
path: root/openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyResponse.java
diff options
context:
space:
mode:
Diffstat (limited to 'openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyResponse.java')
-rw-r--r--openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyResponse.java59
1 files changed, 59 insertions, 0 deletions
diff --git a/openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyResponse.java b/openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyResponse.java
new file mode 100644
index 0000000..82e3187
--- /dev/null
+++ b/openstack-client-connectors/resteasy-connector/src/main/java/com/woorea/openstack/connector/RESTEasyResponse.java
@@ -0,0 +1,59 @@
+package com.woorea.openstack.connector;
+
+/*
+ * Modifications copyright (c) 2017 AT&T Intellectual Property
+ */
+
+import org.jboss.resteasy.client.ClientRequest;
+import org.jboss.resteasy.client.ClientResponse;
+import com.woorea.openstack.base.client.OpenStackResponse;
+
+import javax.ws.rs.core.MultivaluedMap;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Map;
+
+public class RESTEasyResponse implements OpenStackResponse {
+
+ private ClientRequest client;
+
+ private ClientResponse response;
+
+ public RESTEasyResponse(ClientRequest client, ClientResponse response) {
+ this.client = client;
+ this.response = response;
+ }
+
+ @Override
+ public <T> T getEntity(Class<T> returnType) {
+ return (T) response.getEntity(returnType);
+ }
+
+ @Override
+ public <T> T getErrorEntity(Class<T> returnType) {
+ return (T) response.getEntity(returnType);
+ }
+
+ @Override
+ public InputStream getInputStream() {
+ return new RESTEasyInputStream((InputStream) response.getEntity(InputStream.class), client.getExecutor());
+ }
+
+ @Override
+ public String header(String name) {
+ return response.getHeaders().getFirst(name).toString();
+ }
+
+ @Override
+ public Map<String, String> headers() {
+ Map<String, String> headers = new HashMap<String, String>();
+ MultivaluedMap<String, Object> responseHeaders = response.getHeaders();
+
+ for (String key : responseHeaders.keySet()) {
+ headers.put(key, responseHeaders.getFirst(key).toString());
+ }
+
+ return headers;
+ }
+
+}