1 package com.woorea.openstack.connector;
4 * Modifications copyright (c) 2017 AT&T Intellectual Property
7 import java.io.InputStream;
8 import java.util.HashMap;
11 import javax.ws.rs.core.Response;
13 import com.woorea.openstack.base.client.OpenStackResponse;
14 import com.woorea.openstack.base.client.OpenStackResponseException;
16 public class JaxRs20Response implements OpenStackResponse {
18 private Response response;
20 public JaxRs20Response(Response response) {
21 this.response = response;
25 public <T> T getEntity(Class<T> returnType) {
26 if(response.getStatus() >= 400) {
27 throw new OpenStackResponseException(response.getStatusInfo().getReasonPhrase(),
28 response.getStatusInfo().getStatusCode(), this);
30 return response.readEntity(returnType);
34 public <T> T getErrorEntity(Class<T> returnType) {
35 if(response.getStatus() >= 400 && response.hasEntity()) {
36 return response.readEntity(returnType);
43 public InputStream getInputStream() {
44 return (InputStream) response.getEntity();
48 public String header(String name) {
49 return response.getHeaderString(name);
53 public Map<String, String> headers() {
54 Map<String, String> headers = new HashMap<String, String>();
55 for(String k : response.getHeaders().keySet()) {
56 headers.put(k, response.getHeaderString(k));