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;
  }