Example usage for org.apache.http.impl.client AbstractResponseHandler AbstractResponseHandler

List of usage examples for org.apache.http.impl.client AbstractResponseHandler AbstractResponseHandler

Introduction

In this page you can find the example usage for org.apache.http.impl.client AbstractResponseHandler AbstractResponseHandler.

Prototype

AbstractResponseHandler

Source Link

Usage

From source file:com.github.horrorho.liquiddonkey.http.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
 *///  w  ww .  ja va2 s  . c  o  m
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);
            }
        }
    };
}

From source file:com.github.horrorho.liquiddonkey.http.ResponseHandlerFactory.java

/**
 * Returns an entity to byte array response handler.
 *
 * @return an entity to byte array response handler, not null
 *//*from   www.  ja v a 2s  .  c o m*/
public static ResponseHandler<byte[]> toByteArray() {
    return new AbstractResponseHandler<byte[]>() {

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

From source file:eu.fthevenet.util.github.GithubApi.java

/**
 * Returns a specific release from the specified repository.
 *
 * @param owner the repository's owner/*  w  ww  .ja  v a 2s  .c  o  m*/
 * @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);
        }
    }));
}

From source file:eu.fthevenet.binjr.data.adapters.HttpDataAdapterBase.java

@Override
public byte[] onCacheMiss(String path, Instant begin, Instant end) throws DataAdapterException {
    return doHttpGet(craftFetchUri(path, begin, end), new AbstractResponseHandler<byte[]>() {
        @Override//from w w  w .j av a2 s  .c o m
        public byte[] handleEntity(HttpEntity entity) throws IOException {
            return EntityUtils.toByteArray(entity);
        }
    });
}

From source file:eu.fthevenet.util.github.GithubApi.java

/**
 * Returns a list of all release from the specified repository.
 *
 * @param owner the repository's owner//from w ww .  j  a  va2  s  .co  m
 * @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());
        }
    });
}

From source file:eu.fthevenet.binjr.sources.jrds.adapters.JrdsDataAdapter.java

@Override
public boolean ping() {
    try {// ww  w. jav  a2s.co  m
        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;
    }
}