X-Git-Url: https://juplo.de/gitweb/?p=facebook-errors;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Ffacebook%2Ferrors%2FGraphApiErrorResponseErrorHandler.java;fp=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Ffacebook%2Ferrors%2FGraphApiErrorResponseErrorHandler.java;h=9df86a9dd2db187990b04f6e8229756b13563e50;hp=e2f52ff650eb042c57dcd99f1739faee7abdea9e;hb=b05c51b4f7dc4bfe423a7ea306bf82f34eb0faf9;hpb=29d960306f0bea890cc1f02a4d66943d76013708 diff --git a/src/main/java/de/juplo/facebook/errors/GraphApiErrorResponseErrorHandler.java b/src/main/java/de/juplo/facebook/errors/GraphApiErrorResponseErrorHandler.java index e2f52ff..9df86a9 100644 --- a/src/main/java/de/juplo/facebook/errors/GraphApiErrorResponseErrorHandler.java +++ b/src/main/java/de/juplo/facebook/errors/GraphApiErrorResponseErrorHandler.java @@ -55,25 +55,26 @@ public class GraphApiErrorResponseErrorHandler implements ResponseErrorHandler } - @Override - public boolean hasError(ClientHttpResponse response) throws IOException + private boolean hasGraphApiError(ClientHttpResponse response) throws IOException { return HttpStatus.Series.CLIENT_ERROR.equals(response.getStatusCode().series()); } @Override - public void handleError(final ClientHttpResponse response) throws IOException + public boolean hasError(ClientHttpResponse response) throws IOException { - GraphApiErrorResponseErrorHandler.handleError(parent, response); + return hasGraphApiError(response) || parent.hasError(response); } - public static void handleError( - final ResponseErrorHandler parent, - final ClientHttpResponse response - ) - throws - IOException + @Override + public void handleError(final ClientHttpResponse response) throws IOException { + if (!hasGraphApiError(response)) + { + parent.handleError(response); + return; + } + if (response.getBody() == null) { // There is no body to interpret in the HTTP-message