1 package com.woorea.openstack.connector;
\r
4 * Modifications copyright (c) 2017 AT&T Intellectual Property
\r
7 import java.io.InputStream;
\r
8 import java.util.HashMap;
\r
9 import java.util.Map;
\r
11 import com.sun.jersey.api.client.ClientResponse;
\r
12 import com.woorea.openstack.base.client.OpenStackResponse;
\r
13 import com.woorea.openstack.base.client.OpenStackResponseException;
\r
15 public class JerseyResponse implements OpenStackResponse {
\r
17 private ClientResponse response;
\r
19 public JerseyResponse(ClientResponse response) {
\r
20 this.response = response;
\r
24 public <T> T getEntity(Class<T> returnType) {
\r
25 if(response.getStatus() >= 400) {
\r
26 throw new OpenStackResponseException(response.getClientResponseStatus().getReasonPhrase(),
\r
27 response.getStatus(), this);
\r
29 if(response.hasEntity() && returnType != null && Void.class != returnType) {
\r
30 return response.getEntity(returnType);
\r
37 public <T> T getErrorEntity(Class<T> returnType) {
\r
38 if(response.getStatus() >= 400 && response.hasEntity()) {
\r
39 return response.getEntity(returnType);
\r
45 public InputStream getInputStream() {
\r
46 if(response.hasEntity()) {
\r
47 return response.getEntityInputStream();
\r
54 public String header(String name) {
\r
55 return response.getHeaders().getFirst(name);
\r
59 public Map<String, String> headers() {
\r
60 Map<String, String> headers = new HashMap<String, String>();
\r
61 for(String k : response.getHeaders().keySet()) {
\r
62 headers.put(k, response.getHeaders().getFirst(k));
\r