Java 类org.apache.http.impl.client.AbstractResponseHandler 实例源码

项目:binjr    文件:GithubApi.java   
/**
 * Returns a specific release from the specified repository.
 *
 * @param owner the repository's owner
 * @param repo  the repository's name
 * @param id    the id of the release to retrieve
 * @return An {@link Optional} that contains the specified release if it could be found.
 * @throws IOException        if an IO error occurs while communicating with GitHub.
 * @throws URISyntaxException if the crafted URI is incorrect.
 */
public Optional<GithubRelease> getRelease(String owner, String repo, String id) throws IOException, URISyntaxException {
    URIBuilder requestUrl = new URIBuilder()
            .setScheme(URL_PROTOCOL)
            .setHost(GITHUB_API_HOSTNAME)
            .setPath("/repos/" + owner + "/" + repo + "/releases/" + id);

    logger.debug(() -> "requestUrl = " + requestUrl);
    HttpGet httpget = new HttpGet(requestUrl.build());
    return Optional.ofNullable(httpClient.execute(httpget, new AbstractResponseHandler<GithubRelease>() {
        @Override
        public GithubRelease handleEntity(HttpEntity entity) throws IOException {
            return gson.fromJson(EntityUtils.toString(entity), GithubRelease.class);
        }
    }));
}
项目:binjr    文件:GithubApi.java   
/**
 * Returns a list of all release from the specified repository.
 *
 * @param owner the repository's owner
 * @param repo  the repository's name
 * @return a list of all release from the specified repository.
 * @throws IOException        if an IO error occurs while communicating with GitHub.
 * @throws URISyntaxException if the crafted URI is incorrect.
 */
public List<GithubRelease> getAllReleases(String owner, String repo) throws IOException, URISyntaxException {
    URIBuilder requestUrl = new URIBuilder()
            .setScheme(URL_PROTOCOL)
            .setHost(GITHUB_API_HOSTNAME)
            .setPath("/repos/" + owner + "/" + repo + "/releases");

    logger.debug(() -> "requestUrl = " + requestUrl);
    HttpGet httpget = new HttpGet(requestUrl.build());
    return httpClient.execute(httpget, new AbstractResponseHandler<List<GithubRelease>>() {
        @Override
        public List<GithubRelease> handleEntity(HttpEntity entity) throws IOException {
            return gson.fromJson(EntityUtils.toString(entity), new TypeToken<ArrayList<GithubRelease>>() {
            }.getType());
        }
    });
}
项目:binjr    文件:JrdsDataAdapter.java   
@Override
public boolean ping() {
    try {
        return doHttpGet(craftRequestUri(""), new AbstractResponseHandler<Boolean>() {
            @Override
            public Boolean handleEntity(HttpEntity entity) throws IOException {
                String entityString = EntityUtils.toString(entity);
                logger.trace(entityString);
                return true;
            }
        });
    } catch (Exception e) {
        logger.debug(() -> "Ping failed", e);
        return false;
    }
}
项目:binjr    文件:HttpDataAdapterBase.java   
@Override
public byte[] onCacheMiss(String path, Instant begin, Instant end) throws DataAdapterException {
    return doHttpGet(craftFetchUri(path, begin, end), new AbstractResponseHandler<byte[]>() {
        @Override
        public byte[] handleEntity(HttpEntity entity) throws IOException {
            return EntityUtils.toByteArray(entity);
        }
    });
}
项目:LiquidDonkey    文件:ResponseHandlerFactory.java   
/**
 * Returns an entity to function result response handler.
 *
 * @param <R> the function return type, not null
 * @param function the function to apply to the response entity, not null
 * @return an entity to function result response handler, not null
 */
public static <R> ResponseHandler<R> of(IOFunction<InputStream, R> function) {
    Objects.requireNonNull(function);

    return new AbstractResponseHandler<R>() {

        @Override
        public R handleEntity(HttpEntity entity) throws IOException {
            try (InputStream inputStream = entity.getContent()) {
                return function.apply(inputStream);
            }
        }
    };
}
项目:LiquidDonkey    文件:ResponseHandlerFactory.java   
/**
 * Returns an entity to byte array response handler.
 *
 * @return an entity to byte array response handler, not null
 */
public static ResponseHandler<byte[]> toByteArray() {
    return new AbstractResponseHandler<byte[]>() {

        @Override
        public byte[] handleEntity(HttpEntity entity) throws IOException {
            return EntityUtils.toByteArray(entity);
        }
    };
}