protected InputStream handleRequest(String url) { Request request = new RequestBuilder().setFollowRedirects(true).setUrl(url).build(); try { final PipedOutputStream po = new PipedOutputStream(); final PipedInputStream pi = new PipedInputStream(po); final BodyDeferringAsyncHandler bdah = new BodyDeferringAsyncHandler(po); Future<Response> f = ahcProvider.getAsyncHttpClient().executeRequest(request, bdah); BodyDeferringInputStream result = new BodyDeferringInputStream(f, bdah, pi); if (200 == result.getAsapResponse().getStatusCode()) { return result; } else { result.close(); return null; } } catch (IOException e) { getLogger().debug("Error retrieving lvo data", e); } catch (InterruptedException e) { getLogger().debug("Error retrieving lvo data", e); } return null; }