in mode/cluster/repository/consul/src/main/java/org/apache/shardingsphere/mode/repository/cluster/consul/lock/ConsulDistributedLock.java [136:152]
private Response<GetValue> getResponse(final HttpResponse rawResponse) {
if (200 == rawResponse.getStatusCode()) {
List<GetValue> value = JsonUtils.fromJsonString(rawResponse.getContent(), new TypeReference<List<GetValue>>() {
});
if (value.isEmpty()) {
return new Response<>(null, rawResponse);
}
if (1 == value.size()) {
return new Response<>(value.get(0), rawResponse);
}
throw new ConsulException("Strange response (list size=" + value.size() + ")");
}
if (404 == rawResponse.getStatusCode()) {
return new Response<>(null, rawResponse);
}
throw new OperationException(rawResponse);
}