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

GithubApi.java 文件源码 项目:binjr 阅读 17 收藏 0 点赞 0 评论 0
/**
 * 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);
        }
    }));
}
GithubApi.java 文件源码 项目:binjr 阅读 18 收藏 0 点赞 0 评论 0
/**
 * 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());
        }
    });
}
JrdsDataAdapter.java 文件源码 项目:binjr 阅读 18 收藏 0 点赞 0 评论 0
@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;
    }
}
HttpDataAdapterBase.java 文件源码 项目:binjr 阅读 23 收藏 0 点赞 0 评论 0
@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);
        }
    });
}
ResponseHandlerFactory.java 文件源码 项目:LiquidDonkey 阅读 23 收藏 0 点赞 0 评论 0
/**
 * 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);
            }
        }
    };
}
ResponseHandlerFactory.java 文件源码 项目:LiquidDonkey 阅读 24 收藏 0 点赞 0 评论 0
/**
 * 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);
        }
    };
}


问题


面经


文章

微信
公众号

扫码关注公众号