Merge pull request #112 from vaelen/fix-no-content

Updated Java client to handle the case of a NO_CONTENT response.
This commit is contained in:
Tony Tam
2014-01-16 13:36:06 -08:00
2 changed files with 22 additions and 17 deletions
@@ -28,7 +28,7 @@ public class ApiInvoker {
public static ApiInvoker getInstance() {
return INSTANCE;
}
public void addDefaultHeader(String key, String value) {
defaultHeaderMap.put(key, value);
}
@@ -47,7 +47,7 @@ public class ApiInvoker {
else if(String.class.equals(cls)) {
if(json != null && json.startsWith("\"") && json.endsWith("\"") && json.length() > 1)
return json.substring(1, json.length() - 2);
else
else
return json;
}
else {
@@ -61,9 +61,9 @@ public class ApiInvoker {
public static String serialize(Object obj) throws ApiException {
try {
if (obj != null)
if (obj != null)
return JsonUtil.getJsonMapper().writeValueAsString(obj);
else
else
return null;
}
catch (Exception e) {
@@ -75,7 +75,7 @@ public class ApiInvoker {
Client client = getClient(host);
StringBuilder b = new StringBuilder();
for(String key : queryParams.keySet()) {
String value = queryParams.get(key);
if (value != null){
@@ -92,7 +92,7 @@ public class ApiInvoker {
for(String key : headerParams.keySet()) {
builder.header(key, headerParams.get(key));
}
for(String key : defaultHeaderMap.keySet()) {
if(!headerParams.containsKey(key)) {
builder.header(key, defaultHeaderMap.get(key));
@@ -124,13 +124,16 @@ public class ApiInvoker {
else {
throw new ApiException(500, "unknown method type " + method);
}
if(response.getClientResponseStatus().getFamily() == Family.SUCCESSFUL) {
if(response.getClientResponseStatus() == ClientResponse.Status.NO_CONTENT) {
return null;
}
else if(response.getClientResponseStatus().getFamily() == Family.SUCCESSFUL) {
return (String) response.getEntity(String.class);
}
else {
throw new ApiException(
response.getClientResponseStatus().getStatusCode(),
response.getEntity(String.class));
response.getEntity(String.class));
}
}
@@ -143,4 +146,3 @@ public class ApiInvoker {
return hostMap.get(host);
}
}
+11 -8
View File
@@ -28,7 +28,7 @@ public class ApiInvoker {
public static ApiInvoker getInstance() {
return INSTANCE;
}
public void addDefaultHeader(String key, String value) {
defaultHeaderMap.put(key, value);
}
@@ -47,7 +47,7 @@ public class ApiInvoker {
else if(String.class.equals(cls)) {
if(json != null && json.startsWith("\"") && json.endsWith("\"") && json.length() > 1)
return json.substring(1, json.length() - 2);
else
else
return json;
}
else {
@@ -61,9 +61,9 @@ public class ApiInvoker {
public static String serialize(Object obj) throws ApiException {
try {
if (obj != null)
if (obj != null)
return JsonUtil.getJsonMapper().writeValueAsString(obj);
else
else
return null;
}
catch (Exception e) {
@@ -75,7 +75,7 @@ public class ApiInvoker {
Client client = getClient(host);
StringBuilder b = new StringBuilder();
for(String key : queryParams.keySet()) {
String value = queryParams.get(key);
if (value != null){
@@ -92,7 +92,7 @@ public class ApiInvoker {
for(String key : headerParams.keySet()) {
builder.header(key, headerParams.get(key));
}
for(String key : defaultHeaderMap.keySet()) {
if(!headerParams.containsKey(key)) {
builder.header(key, defaultHeaderMap.get(key));
@@ -124,13 +124,16 @@ public class ApiInvoker {
else {
throw new ApiException(500, "unknown method type " + method);
}
if(response.getClientResponseStatus().getFamily() == Family.SUCCESSFUL) {
if(response.getClientResponseStatus() == ClientResponse.Status.NO_CONTENT) {
return null;
}
else if(response.getClientResponseStatus().getFamily() == Family.SUCCESSFUL) {
return (String) response.getEntity(String.class);
}
else {
throw new ApiException(
response.getClientResponseStatus().getStatusCode(),
response.getEntity(String.class));
response.getEntity(String.class));
}
}